2009年2月12日木曜日

PHP 機種依存文字 EUC-JP UTF-8 変換 文字化け

eucJP-winにしてみな

ローマ数字とかが文字化けするからeucJP-winで変換をかけてみて

$_GETや$_POSTの場合

$_POSTの中身を何もせずに吐き出した状態ですでに文字コードの変換処理がされている場合(文字化けする)、PHPの設定でmbstring.internal_encodingがEUC-JPで設定されてないか、mbstring.encoding_translationがONになっていないかを確認。これらの設定はini_set関数で設定しても反映されないので、.htaccessで

php_value mbstring.encoding_translation "off"
のように書く必要があります。

UTF-8 → EUC-JP?

JavaScriptでURLエンコードするとUnicodeとしてエンコードされるので、少し古い環境でPHPを実行している場合、内部エンコードがEUC-JPを使っているのはよくあるケースなので、これは知っておいたほうがいいですよ!

1 件のコメント:

匿名 さんのコメント...

パソコン初心者です。mysqlで簡単なプログラム
を作成していたのですが。どうも変数の受け渡し
に失敗しているようで、辿り着いたのがここです。試しにこの通り設定して.htaccess配下に
プログラムを置いて実行。みごと成功しました。
どうもです。助かりました。