SJISからUTF-8への文字コード変換にはsjis-winを指定する(PHP)


Webサイトの作成でやっかいなのがS-JIS(シフトJIS)の取り扱いです。以前はPCの文字コードがS-JISだったり、ケータイサイトはS-JISしか使えなかったりしていましたが、現在ではUTF-8等を使うことが多いと思います。

PHPで文字コードの変換にはmb_convert_encodingを使いますが、このとき、以下のようにすると一部の文字で文字化けが生じます。

mb_convert_encoding($str, 'utf8', 'sjis');

どうやら、拡張文字の扱いで文字化けが生じるようです。以下のようにすると、解決します。

mb_convert_encoding($str 'utf8', 'sjis-win');

具体的に影響のある文字として、「髙」「黑」「①」「Ⅰ」などがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

SPAM防止のため数字と漢数字の算数の計算をお願いします。 * Time limit is exhausted. Please reload CAPTCHA.