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

以前、似た質問をしましたが、また別問題のため、別質問として投稿させてください。

Windows環境でMySQLからデータを引っ張ってきて、UTF-8エンコーディングのサイトで表示させようとすると文字化けしてしまいます。

MySQLのコマンドでSHOW VARIABLES LIKE 'char%';を実行したところ、下記結果を得ました。

+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL\MySQL Server 4.1\share\charsets/ |
+--------------------------+-------------------------------------------+

原因をご存知の方はお教えいただけますと幸いです。

●質問者: tdj01
●カテゴリ:インターネット ウェブ制作
✍キーワード:Char MySQL Share Windows エンコーディング
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● hamster009
●27ポイント

ここを参考にしてください。

http://vivian.reverb.jp/mysql4.1.html

上記が完璧なmysql構築です。もし再コンパイルなどできない環境でしたら、

お使いのphpウェア(mysqlと交信するウェア)のソースの中で明示的に

文字コードを指定することでも文字化けは解消します。くわしくは

過去ログを検索してください。


2 ● b-wind
●27ポイント

character_set_client=latin1 な環境では日本語の表示は不可能です。

Windows環境でMySQLからデータを引っ張ってきて

の部分がどうやっているか分かりませんが、実行前に必ず

SET NAMES 'utf8';

を実行するようにしてください。

http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40

◎質問者からの返答

上記を行い、コマンドラインでインサートしたところ、日本語が空欄で挿入されてしまいました。

何か間違った設定があるのでしょうか?


3 ● b-wind
●26ポイント

コマンドラインというのが Windows のコマンドプロンプトの事であるならば、

SET NAMES 'SJIS';

を実行する事になります。

以上のように、SET NAMES で指定する内容はクライアントの文字コードに合わせてください。

http://q.hatena.ne.jp/1163352251

◎質問者からの返答

ここのデータを表示させる、PHPプロラムがUTF?8にしなければならないのですが、SJISにすると、PHPプログラムでそのデータを表示する際に文字化けしてしまいませんでしょうか?

関連質問


●質問をもっと探す●



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