mysql_query(”SET NAMES sjis;”)

例えば、サーバ側のMysqlの文字コードが、UTF-8でプログラム(ソースコード)がSJISの場合・・・
mysql_query("SET NAMES sjis;")
をかませれば、文字化け無く、一見通常に表示します。
しかし、ここに落とし穴が・・・
一般的な日本語文字は正常に表示されるのだが、特殊な文字(@、A・・・、、アなど)になってしまう
これは、やはりMysqlでのマルチバイトのコード変換が上手くいっていないものと考えられる。
結局、横着せずにサーバ環境に合わせて文字コードを設定するべきと考える。

つまり次のように心がければ、このような災難に遭う確率が少ない

  • サーバ側がSJISの場合は、ソースコードもSJISでコーディングする。
  • 当然、サーバ側がUTF-8の場合は、ソースコードもUTF-8でコーディングする。
    ※結局、いろんな事をせずにシンプルに文字コードを統一するように心がければ良いことになる。(simple is best である)。 そうすれば自ずとmysql_query("SET NAMES sjis;") を入れる必用も必用も無くなる。 
    mysql_query("SET NAMES sjis;")は文字化けの根本的な対策にはなりません

技術の倉庫での問い合わせ
お名前:
Valid お名前:を入力してください。
メールアドレス:
Valid メールアドレス:を入力してください。 メールアドレスが不正です。
問い合わせ内容:
Valid 問い合わせ内容:が入力されていません。
画像認証コード
上の画像で表示されている数字を入力してください。
Valid 上記認証コードを入力してください。