人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【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からです。

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

●質問者: PEPOTA
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:ASCII EUC-JP JIS MySQL ON
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● くいっぱ
●40ポイント

http://php.s3.to/man/function.mb-convert-encoding.html

mb_convert_encoding

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”);


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

◎質問者からの返答

ありがとうございます。

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ