【MySQLでの文字化け】

CentOS4.2
mysql-server-4.1.12-3.RHEL4.1
php-4.3.9-3.8
を使用しています。

-php.ini--------
mbstring.language = Japanese
mbstring.detect_order = NULL
mbstring.http_input = SJIS, EUC-JP, UTF-8, ASCII, JIS
mbstring.http_output = SJIS, EUC-JP, UTF-8, ASCII, JIS
mbstring.internal_encoding = SJIS
mbstring.script_encoding = NULL
mbstring.substitute_character = NULL
mbstring.func_overload = ”0”
mbstring.encoding_translation = On
----------------

この環境でのサーバを構築して、
テストがてらに、sjis_japanese_ciでデータベースを作り、
sjisでPHPスクリプトを作成しました。
日本語を交えたINSERT文をPHPスクリプトから実行すると、実行結果(print分)は正常ですが、データベースに挿入された文字が化けます。

文字化けの確認は、PHPMyAdminからです。

何か、設定を変える必要などあるのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:kuippa No.1

回答回数1030ベストアンサー獲得回数13

ポイント40pt

PHPMyAdminのキャラセットがEUC-JPだからでは?

<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP” />

両方ともSJISに揃えて出力も正常に行えているのであれば設定を変更する必要はないかもです。

ただ、環境に囚われないコーディングをしたいのであれば、

// 文字コーディング

$str = mb_convert_encoding($str, $pcDBEncType, ”auto”);


// [サーバの関係上EUCで格納されている]

$sRet = mb_convert_encoding($rs[$sFields], $pcPageEncType, ”auto”);


入れるときと出す時にコンバートを掛けてやるなどという手が考えられます。

id:keijiro

ありがとうございます。

結局解決には至りませんでしたが、

もう少し自分で探ってみます。

2005/11/10 13:30:25

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません