文字コードについて・1

PHPからテーブルの内容を表示するページをブラウザから見ると、文字化けを起こす場合がある。
これは、Linux上で日本語はEUCコードで格納されるからである。

通常、Windowsでは日本語データにはSJISを使っている。だから、作成したHTMLはSJISで書かれているが、PGSQLから取り出したデータはEUCで書かれているため、文字化けが出てしまうのだ。

これを防ぐため、サーバ側の設定を変更する(もちろんrootで実行)。

1.設定ファイルの編集

1.PHPの設定ファイルを編集する

  1. php3.iniファイルをviで開く。
    # vi /usr/local/lib/php3.ini
  2. internationalizationの設定を変更する。
    ; internationalization
    i18n.http_output = SJIS
    i18n.internal_encoding = EUC-JP
    i18n.script_encoding = auto
    i18n.http.input = auto
    i18n.http_input_default = SJIS

    ; internationalization
    i18n.http_output = EUC-JP
    i18n.internal_encoding = EUC-JP
    i18n.script_encoding = auto
    i18n.http.input = auto
    i18n.http_input_default = EUC-JP

2.Apacheの再起動

php3.iniの設定を反映させるために、Apacheを再起動する。

# /etc/rc.d/init.d/httpd restart

[ TOP ]