- PR -

MySQLの文字化け

1
投稿者投稿内容
sakuma
会議室デビュー日: 2004/01/28
投稿数: 3
投稿日時: 2004-12-01 16:29
phpdev5(Apache1.3.27 PHP4.2.3 MySQL4.0.0)を使ってIEで表示させたデータが文字化けしてしまいます。解決方法をご教授ください。(OS:WIN XP SP2)

最初は日本語が全て文字化け(IEのエンコードでは簡体字中国語にチェック)していたのですが、php.iniを修正(ujis)して項目の部分だけ正常に表示させることが出来るようになりました。しかしデータの部分が文字化けしたまんまです。コマンドプロンプトやACCESSで覗くと正常に表示されるのですが…

そこでmy.iniを修正しようと思ったのですが、phpdevでインストールするとWINDOWSフォルダにファイルがなく、自分で作っても上手く反映してくれません。

その他、MySQLのシステム変数にあるcharacter setをlatin1からsjisに変更しようと、マニュアルを見て奮闘したのですが上手く変更されてくれませんでした。

どなたか良い方法を教えてください。宜しくお願いします。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-12-01 17:04
PHPファイルの先頭よりちょっと下で

<html>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">

もし、データが本当に Shift-JIS ならば

<html>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">

PHP は <?php ?> で囲んでるとこ以外は HTML として処理してくれるから、
外側にそのまんま書ける筈。。。
sakuma
会議室デビュー日: 2004/01/28
投稿数: 3
投稿日時: 2004-12-01 17:28
早速のご返答ありがとうございます。

ご提示いただいたタグを<html>の下や、<head>の中にも入れてみたのですが、びくともしませんでした。IEのエンコードは「日本語(EUC)」が選ばれたままです。

IEのエンコードを「日本語(シフト JIS)」にしてやるとデータは正常に表示されますが、項目名が文字化けします。

PHPファイルとデータの文字コードが違っている時点で破綻していますでしょうか?
taro
ぬし
会議室デビュー日: 2003/10/20
投稿数: 316
投稿日時: 2004-12-01 18:49
phpdev5は全く知らないのですが、MySQLはDBのURL指定時に
以下のように文字コードを指定できたと思います。
jdbc:mysql://[server]/[dbname]?useUnicode=true&characterEncoding=SJIS
ご参考になれば幸いです。
sakuma
会議室デビュー日: 2004/01/28
投稿数: 3
投稿日時: 2004-12-03 13:24
コブラさん、taroさんありがとうございました。
思惑通りにとは行きませんでしたが、PHPファイルをSJISで保存、php.iniでデフォルトもSJISにすることによって辻褄を合わせることができました。
もう一度研究してみます。
1

スキルアップ/キャリアアップ(JOB@IT)