- - PR -
MySQLの文字化けについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-12-06 11:13
お世話になります。php-4.3.4 と mysql4.0.21-nt で開発をしようとしています。
PHPからinsert into でmysqlにデータを登録したのですが、”表明"等の文字が化けてしまいます。 で、色々と調べた結果、iniを変えるのは乗っていたのですが、スクリプト側で制御したいのです。 例えば、mb_convert_encoding("表明","EUC-JP","SJIS");等としてです。 ちなみに、mb_convert_encodingは試しましたが文字化けのままです。 スクリプトはSJIS(i-mode用サイトを作るため)で、mysqlはujisです。 レンタルサーバーを借りておられる方は、恐らくこういう局面に遭遇されると思うのですが、 皆様はどうやっていらっしゃるのか、教えてください。お願いします。 php.ini の default_charset (何も指定していません no value) my.ini [mysqld] default-character-set=ujis となっています。 | ||||
|
投稿日時: 2004-12-06 12:18
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17095&forum=26
| ||||
|
投稿日時: 2004-12-07 00:09
$クエリ = "INSERT INTO テーブル名(カラム名) VALUES('".mb_convert_encoding("表明","EUC-JP","SJIS")."')"; として、うちではちゃんと「表明」が入りましたよ。単に"表明"を入れた場合は「楓セ」となりました (これはEUC-JPに存在しない値がわたって無理やりsjisで読んだような感じに思えます) 要点としては、phpファイルが本当にSJISか、ブラウザからはSJISで送信されているか、BDの内容をEUC-JPで見ているのか、などですかね。 | ||||
|
投稿日時: 2004-12-07 08:41
コブラ様・べる様ありがとうございます。
コブラ様に教えて頂いたスレは、既に確認済だったのですが、どうも上手くいかず 投稿させて頂きました。 が、確かに、<META の部分はちゃんとしてなかったので、処理後表示は上手いこといきました。ありがとうございます。 べる様 phpMyAdminでなく、DOS窓でやってます。 今日初めてphpMyAdminでテーブルの中身を見れることを知りました。 で、phpMyAdminでは正常に”表明”と表示されるのに、DOS窓では”ノフスタ”と表示され・・ > DBの内容をEUC-JPで見ているのか。 納得できました。ありがとうございます。 |
1