みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHP MySQL 文字コード変換

初心者です。
いままで特に何も考えずにShiftJisでつくってきたサイトがあるのですが、UTF-8にすべきとご指摘をいただき、直したいのですが、どこをどう変えてよいのかわかりません。
いままで文字コードを指定してきたところといえば、DBに接続する際の

$rs = mysql_query("SET character set SJIS", $db);

とか、HTMLタグの、
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />

とか、CSSの
@charset "Shift_JIS";

と、この程度です。

これらを単純に全てUTF-8に統一するだけでOKなのでしょうか?

テーブルを作成するときにも文字コードを指定したり、PHPのiniファイルやMySQLのどこかも設定が必要なのでしょうか?

ちなみに、ユーザーが入力した情報をテーブルに保存し、それを別のユーザーが検索して閲覧できるようなサイトを作っており、ローカル環境下ではいまのところ文字化けに遭遇したことはありません。

稚拙な質問ですみませんがよろしくお願いいたします。

投稿日時 - 2013-10-26 00:46:18

QNo.8320923

すぐに回答ほしいです

質問者が選んだベストアンサー

【TODO List】

・PHPファイルやHTMLファイルの文字コードを変更
KanjiTranslatorが優秀です。
http://www.kashim.com/kanjitranslator/
変換時は「UTF-8(BOM無し)」「LF」を選択してください。

・データベースの文字コードを変更
LancerVIIさんの回答を参考に。

・Mysql関数は非推奨なのでPDOクラスに乗り換える
「PHPでデータベースに接続するときのまとめ」
http://qiita.com/mpyw/items/b00b72c5c95aac573b71

・その他必要な箇所、文字コードに関する記述を変更

投稿日時 - 2013-10-26 10:24:52

お礼

TODOリストありがとうございます。また覚えることが沢山でてきてしまいましたが、やるべきことが見えてきました。一つ一つつぶしていこうと思います。

投稿日時 - 2013-10-30 00:08:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんにちは。

単純に統一だけではダメです。

スクリプトやHTML自身のソースについての文字コードもutf-8に変換する必要があります。
(文字コードだけ変換して上書き)

・MySQLの文字コード変換
http://blog.livedoor.jp/kumagai_nori/archives/52255224.html
http://kzworks.at.webry.info/200903/article_14.html

結構、手間ですよ。

投稿日時 - 2013-10-26 06:03:14

お礼

ありがとう御座います。
character_set_filesystemや
character_set_resultsや
character_set_serverをどこで変えればよいか解らず、早速てこずっていますが進め方がわかってきました。
文字コードにちいてまだよくわかっていないので勉強しながらがんばって乗り切ろうと思います。ご回答ありがとうございました。

投稿日時 - 2013-10-29 00:22:53

あなたにオススメの質問