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」を!

Shift_Jisへ文字コードの変換の際には、「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");
とします。

最後に

恐らく、IT業界で働いてる方であれば、
文字化けの危険性があるので、機種依存文字を使用されることは無いと思います。

ただ、一般的には使用される方も多いので、
文字コードの変換処理の際には注意しておく必要があります。

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. レンタルサーバ:おすすめの共用サーバ
  2. ホームページ(homepage)
  3. システムアップデート
  4. エックスサーバー(XSERVER)
  5. エックスサーバー(XSERVER)
  6. エックスサーバー(XSERVER)
  7. WEBサイト構築
  8. スパム(SPAM)対策
  9. サイト公開
  10. ネームサーバーの登録

Twitter

ダッチ(足立拓也)
@gatsu0000

アーカイブ

PAGE TOP