• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「表参道」が「侮Q道」となる)

PHP+MySQLでの文字列格納と再編集において「表参道」が「侮Q道」となる現象の対処方法

このQ&Aのポイント
  • PHP+MySQLでフォームに入力されたデータをDBに格納し、表示や再編集を行う仕組みを作成しています。しかし、DBに「表参道」という文字列を格納し、再編集する際に「侮Q道」と表示される現象が発生しています。文字コードは全てShift-JISで記述しています。同様の現象に遭遇した方や対処方法をご存じの方はいらっしゃいますか。
  • PHP+MySQLでフォームデータの格納と再編集を行う仕組みを作成していますが、DBに格納した「表参道」という文字列が再編集時に「侮Q道」と表示される現象が発生しています。文字コードはShift-JISです。同様の現象に遭遇した方や解決方法を知っている方はいますか。
  • PHP+MySQLを使用し、フォームデータの格納と再編集を行う仕組みを作成しています。しかし、DBに格納した「表参道」という文字列が再編集時に「侮Q道」と表示される不具合が発生しています。文字コードはShift-JISです。同様の不具合に遭遇した方や対処方法をご存じの方はいますか。

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

  • ベストアンサー
回答No.1

表参道 955c 8e51 93b9 侮Q道 958e 51 93b9 ですね。5Cが消えています。 >呼び出して普通に表示する分には「表参道」と問題なく表示されるのですが これはDBからSELECTしたデータではなく、POSTかGETで受け取った値の方を表示しているんですよね? >それを再編集するとき(フォームのinputタグに読み込み)に こっちはDBからSELECTしたデータですよね? そうならば、DBに入れたときに消えた疑いが濃厚だと思います。 mysqlのcharset設定を見直してみてはいかがでしょう。

SOU48
質問者

お礼

ご回答を頂き、ハッとしたのですが 思い切り5C問題ですね・・・ お恥ずかしながら、どういうわけか「表」の文字に目がいかず 「参」ばかりに目がいってしまっていました・・・。 一度、「こうだ!」と決めつけてしまうと見えなくなりますね。。 有り難うございました。

その他の回答 (2)

回答No.3

直接の回答にはなっていませんが、お許し願います。 PHPはエンコーディングにSJISの使用を推奨していませんので 全てのphpスクリプト文、並びにデータベースのデフォルトエンコーディングを EUC-JP にしてみてはいかがでしょうか。

参考URL:
http://phpspot.net/php/man/php/ref.mbstring.html
回答No.2

Perl,PHPなどでS-JISを使ったときの有名な問題です。 DB関係ないです。

関連するQ&A