PHPの SJISと SJIS-WINの違い
PHPで文字コード変換を行う場合は、 SJIS指定ではなく、「SJIS-WIN」と文字コードを指定しよう!という話 例) $text= mb_convert_encoding($text, “SJIS-win”, “UTF-8”); $text = mb_convert_encoding($text, “EUC-win”, “UTF-8”); ◆SJIS-WINとは? 「win」が付いているので想像通り、Windows拡張の文字に対応したオプション PHPで文字コードとして「SJIS-WIN」を指定すると、Microsoftが拡張したShift_JISである Windows-31Jが使われる。Windows-31Jは、Microsoftが「JIS X 0208-1990」をベースに、 NECとIBMの独自拡張文字の一部(一般的にはSJISの「機種依存文字」と呼ばれる?)を 取り込んだ文字コード。 ◆SJISとSJIS-WINの違い SJIS-WINの方が文字が多い。 ◆代表例として下記のような文字はSJISーWINにはあるがSJISにはない。 丸数字 (①②③...⑳) ローマ数字 (ⅠⅡⅢ...Ⅹ、ⅰⅱⅲ...ⅹ) カッコ付きの株 (㈱) はしご高[はしごたか] (髙) 川崎[かわさき] (﨑) ◆SJIS-WINにはあるがSJISにはない文字 下記の3種類 NEC 特殊文字(13区) NEC 選定 IBM 拡張文字(89~92区) IBM 拡張文字(115~119区)