PHP

PHP

SJISではなくSJIS-winを使用すること!!

mb_convert_encodingでの文字コードの変換

今日は、
昔組んだ携帯サイトの修正を久しぶりに行いました。

このシステムでは、
UTF-8で構築されたデータベースからデータを引っ張ってきていたので、
mb_convert_encoding()関数を使ってUTF-8からShift_Jisへ文字コードを変換しています。

具体的には、
$hensu = mb_convert_encoding($hensu, “SJIS”, “UTF-8”);
という記述になります。

文字コードの変換には「SJIS」ではなく「SJIS-win」を!

バグという訳ではないですが、
「UTF-8」からの文字コードの変換では、
「SJIS」ではなくて「SJIS-win」を使うべきですね!!

理由は、
ローマ数字などの特殊文字が文字化けしてしまうからです。

なので、
$hensu = mb_convert_encoding($hensu, “SJIS”, “UTF-8”);
ではなく、
$hensu = mb_convert_encoding($hensu, “SJIS-win”, “UTF-8”);
とします。

「EUC-JP」の文字コード変換には「eucJP-win」を!

同様に、
「EUC-JP」の変換でも「eucJP-win」を使用します。

なので、
$hensu = mb_convert_encoding($hensu, “EUC-JP”, “UTF-8”);
ではなく、
$hensu = mb_convert_encoding($hensu, “eucJP-win”, “UTF-8”);
とします。

参考までに、
こちらの記事に残しておきます。

関連記事

  1. PHP

    PHP

    mb_send_mail()を使うと、機種依存文字が「?」に文字化け!!

    お問い合わせフォームにwindowsの機種依存文字である「﨑」を入力す…

  2. PHP

    PHP

    split()関数とexplode()関数

    サーバーのバージョンを5.3へアップした途端、PHP Deprec…

  3. WordPress

    PHP

    WPの記事インポートで画像のサムネイルが作成されない!!

    WordPressに記事をインポートしてみたのですが、どうも記事の…

  4. PHP

    PHP

    PHP5.3で問題が発生です!!

    最近ディープのサーバをさくらインターネットの専用サーバへ乗り換えたので…

  5. PHP

    PHP

    【PHP】金額をカンマで3桁区切りにフォーマット

    PHPを使って、数字(金額)を3桁区切りにフォーマットする方法…

  6. PHP

    PHP

    UbuntuサーバからPHP5.6を完全に削除

    UbuntuサーバにインストールしているPHP5.6を訳合ってアン…

最近の記事

  1. PHP
  2. Python
  3. Python
  4. PHP
  5. 宅建
PAGE TOP