広告

posted by fanblog

PHPの文字化け対応mb_regex_encoding

PHPで文字化け発生です。
PHPでプログラムを組んでいると、よく文字化けします。
ということで早速結論です。

【症状】
文字コードはEUC-JP
音引き(伸ばし棒)の部分で文字化け
例1
mb_ereg_replace('×', '○', '×アイウエオ');
⇒文字化けしない

例2
mb_ereg_replace('×', '○', '×アイウエオー');
⇒音引き(伸ばし棒)の部分だけ文字化けする


【対応】
mb_regex_encoding( "EUC-JP" );

という文を記述しておく。
例えば【症状】例2の場合
mb_regex_encoding( "EUC-JP" );
mb_ereg_replace('×', '○', '×アイウエオー');

とすると文字化けしません。

今回は私がEUC-JPで記述していたので、EUC-JPとしました。
他の文字コードの場合は、適宜文字コードの部分の変更してください。

★mb_ereg_replace
マルチバイトの文字列を置換する
マニュアル参照

★mb_regex_encoding
マルチバイト正規表現用のエンコーディングを文字列として返す
マニュアル参照

PHPに限らずですが、文字化けは厄介なものです。
常に文字コードが何かを気にしながら、プログラミングしないとすぐに文字化けします。

文字化けの原因もさまざまですので、参考になればと思います。

この記事へのコメント

   
<< 2013年02月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28    
PC関連ショップ
ビックカメラ.com

ドスパラは最短当日出荷!
パソコン・パソコンパーツのTWOTOP
フェイスインターネットショップ
【送料・代引手数料無料】PCダイレクト!
【バッファロー】直販オンライン・ショップ
格安BTOノート!『BTO STORE』
ストームウェブショップ
QNAP社製品ラックNAS
おすすめ商品

3DCGでよくわかる パソコン解体全書

新品価格
¥3,150から
(2011/1/28 17:39時点)

×

この広告は30日以上新しい記事の更新がないブログに表示されております。