HTMLのmeta内charsetがSHIFT_JISであったり CGIスクリプトがSHIFT_JISであったり DBがSHIFT_JISであったりとどこかにSHIFT_JISが絡んでいると必ず5C問題に引っかかります。 MYSQLがUJIS(EUC-JP)でもPHPソースがEUC-JPでもぶち当たります。 SHIFT_JISがどこかに挟まっていたらハマります。 じゃあSHIFT_JISを使わなければいいだけやんという方はそれが一番手っ取り早いです。 なのでUTF8かEUC-JP(UJIS)を使っておくのが一番です。 でも、SHIFT_JISをつかっても問題ない方法に興味があるので調べてみました。 5C問題とはなにか? SHIFT_JISで文字コードの最後に5Cがつく文字が40種類あるのですが その文字を内部処理をする時、5Cがエスケープ文字として受け止められます。 PHPの場合、php.
![PHP と SHIFT_JIS と MySQL - MySQL DB OSS](https://cdn-ak-scissors.b.st-hatena.com/image/square/df3a50c14b465108d37d0f484920317dd74971fb/height=288;version=1;width=512/http%3A%2F%2Fu.xgoo.jp%2Fimg%2Fsns%2Fblog.png)