[PHP]mb_convet_encodingでSJISエンコーディング時の文字化け回避

phpを使って文字コードをUTF-8からSJISに変換する際に、「mb_convert_encoding」を使って簡単に変換できますが、文字化けが起こったので回避をシェアしておきます。

変換後エンコードディングを「SJIS-win」に

私は今まで下記のように変換後エンコーディングを「SJIS」で使用していました。

//「SJIS」文字化けします
$str = mb_convert_encoding($str, "SJIS", "UTF-8");

しかし、上記記述だと文字化けする場合が多々発生したため(特にCSVエクスポートの際)下記に記述を変更しました。

//「SJIS-win」文字化けしません
$str = mb_convert_encoding($str, "SJIS-win", "UTF-8");

この記述だと問題なくエンコーディングすることが出来ました。

「SJIS」で文字化けが発生した場合は「SJIS-win」で試してください。

 

ではこの辺で。

 

 

2 thoughts on “[PHP]mb_convet_encodingでSJISエンコーディング時の文字化け回避

  • 2021/06/14 at 7:18 PM
    Permalink

    We are a group of volunteers and opening a new
    scheme in our community. Your web site provided us with valuable information
    to work on. You have done an impressive job and our whole community will
    be grateful to you.

    Reply
    • 2021/06/16 at 4:26 PM
      Permalink

      Thank you Blessphemy Guitar! I’m glad to hear that!

      Reply

コメントを残す

メールアドレスが公開されることはありません。