このような誤変換を防ぐための一つの手法としてよく挙げられているのが、「sjis-win」または「eucjp-win」というエンコーディングを使って回避する方法である。 $s_in = "~"; $s_out = mb_convert_encoding( mb_convert_encoding( $s_in, "sjis-win", "UTF-8" ), "UTF-8", "sjis-win" ); echo ($s_in == $s_out) ? "OK" : "NG"; 表示結果: OK このようにすると、上記表に挙げた文字を mb_convert_encoding を使って変換しても、正しく元に戻すことができる。 「sjis-win」または「eucjp-win」を使えば解決?と思いきや、逆も真なりとはこのことかと思うような問題も存在する。たとえば、 $s_in = "〜"; $s_ou
![[php] mb_convert_encoding と UTF-8 の誤変換問題(株式会社コネクティボしゃいん☆のブログ)](https://cdn-ak-scissors.b.st-hatena.com/image/square/386e571ff1c466762059b21b6324a144c69f2922/height=288;version=1;width=512/http%3A%2F%2Fshain.blog.conextivo.com%2Fimg%2Fshainblog_mark_base.jpg)