- PR -

皆さんはどうしてますか?mysql

投稿者投稿内容
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2006-02-15 13:32
一度データベースの内容をダンプして、文字コードが何か?を調べてみてはどうでしょうか?

少し落ち着いて考えてみると、
PHPの場合
HTML(というか、ブラウザが文字コードを何として扱っているか?) <=> PHPの受取り時に文字コードを何として受取っているか? <=> PHPの内部文字コード <=> MySQLが文字コードを何として受取っているか? <=> データベースに書き込む際に、文字コードを何として扱っているか?
Telnetでコンソールから
Telnet クライアントの文字コード <=> mysql(コマンドプロンプト)が文字コードを何として受取っているか? <=> (ここに何かあるかも)<=> データベースに書き込む際に、文字コードを何として扱っているか?

という具合に複雑だと思います。
(で、その途中の文字コード設定が間違っていると文字化けが起こるのです)

(っと。mysql自体については詳しく無いので、間違っていたらすみません。)
みっくん
会議室デビュー日: 2006/02/14
投稿数: 5
投稿日時: 2006-02-15 13:36
ご指示有難うございます。
php.iniの方が少し怪しいと思っていたので、
今、模索している所です。

データベースの文字コードはstatusで見てみると
client characterset ujis
server characterset ujis
でした。色々調べてみます!!
今川 美保(夏椰)
ぬし
会議室デビュー日: 2004/06/10
投稿数: 363
お住まい・勤務地: 神奈川県茅ヶ崎市
投稿日時: 2006-02-15 17:58
DBはUJISですか・・・
ではset character setをSJISにしてみてはいかがでしょう?
Lichtenstein
ベテラン
会議室デビュー日: 2003/11/06
投稿数: 61
投稿日時: 2006-02-15 19:15
バラバラ引用しますがご容赦を。

>PHPはEUC-JPで書かれている為

この辺、視点がズレてます。

PHPでHTMLを作成して、そのHTMLでデータを入力しているのですよね?
なら普通は、データベースにはそのHTMLで指定された文字コードのデータが
入っていると思います。MySQLが、Oracleのような気の効く変換をする事は
期待できません。

>telnet形式でEUC-JPに変更

Telnetクライアントソフトの出力設定を、EUC-JPにしているのですね?
MySQLの設定ではなく、HTMLの文字コードに合わせましょう。

とりあえず原因の切り分けのため、以前お勧めした、かねやんMySQLAdminなどを
利用する、いったんテキストファイルで保存してみる、といった
操作をしてみるのも手です。

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