- - PR -
皆さんはどうしてますか?mysql
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2006-02-15 13:32
一度データベースの内容をダンプして、文字コードが何か?を調べてみてはどうでしょうか?
少し落ち着いて考えてみると、 PHPの場合 HTML(というか、ブラウザが文字コードを何として扱っているか?) <=> PHPの受取り時に文字コードを何として受取っているか? <=> PHPの内部文字コード <=> MySQLが文字コードを何として受取っているか? <=> データベースに書き込む際に、文字コードを何として扱っているか? Telnetでコンソールから Telnet クライアントの文字コード <=> mysql(コマンドプロンプト)が文字コードを何として受取っているか? <=> (ここに何かあるかも)<=> データベースに書き込む際に、文字コードを何として扱っているか? という具合に複雑だと思います。 (で、その途中の文字コード設定が間違っていると文字化けが起こるのです) (っと。mysql自体については詳しく無いので、間違っていたらすみません。) |
|
投稿日時: 2006-02-15 13:36
ご指示有難うございます。
php.iniの方が少し怪しいと思っていたので、 今、模索している所です。 データベースの文字コードはstatusで見てみると client characterset ujis server characterset ujis でした。色々調べてみます!! |
|
投稿日時: 2006-02-15 17:58
DBはUJISですか・・・
ではset character setをSJISにしてみてはいかがでしょう? |
|
投稿日時: 2006-02-15 19:15
バラバラ引用しますがご容赦を。
>PHPはEUC-JPで書かれている為 この辺、視点がズレてます。 PHPでHTMLを作成して、そのHTMLでデータを入力しているのですよね? なら普通は、データベースにはそのHTMLで指定された文字コードのデータが 入っていると思います。MySQLが、Oracleのような気の効く変換をする事は 期待できません。 >telnet形式でEUC-JPに変更 Telnetクライアントソフトの出力設定を、EUC-JPにしているのですね? MySQLの設定ではなく、HTMLの文字コードに合わせましょう。 とりあえず原因の切り分けのため、以前お勧めした、かねやんMySQLAdminなどを 利用する、いったんテキストファイルで保存してみる、といった 操作をしてみるのも手です。 |
