PHP から MySQL を利用したく文字エンコードについて記述中、 「SET NAMES ~」を利用して設定するというのは好ましくないとの情報があったので、代わりに mysql_set_charset(~) を使って設定することにしました。
※SET NAMES ~ を使うと mysql_real_escape_string が有効に働かないようで、SQLインジェクションの脆弱に繋がるそうです。
さて、
差し替えであっさりいけるだろうと思いきや、いくら設定しても取得するデータは文字化け状態。
設定の状態を確認してみると latin から変わってないじゃありませんか!
いろいろ試しても、全然、設定が有効になってくれません (T-T
結果的に、唯一設定できたのが UTF8 でした。
仕方がないので、ちょっと面倒ですが UTF8 で扱えるように設定し、マルチバイト関数でエンコード処理を通して使うことにしました。
はじめから UTF-8 でサイトを作っておけば良かったかなぁ・・・
次から次へと悩ませてくれる 共用サーバーSD でした。
この記事へのコメント