S eda1a14b50ee24bcab19b62f40858e76 PHP 機種依存文字を変換

以下php4.4.9で確認

「①」「㈱」などの機種依存文字

euc -> sjis は変換してくれるけど、
euc -> UTF-8 が変換してくれないっぽい。

eucjp-win, sjis-winにすれば変換できる

$enc = mb_detect_encoding($data, "eucjp-win,sjis-win,UTF-8,ASCII");
$data = mb_convert_encoding($data, $to_enc, $enc);

しかし、「髙」は変換できない。わけわからん文字になる。

「髙(はしごたか)」「﨑(たつさき)」などの機種依存文字


eucjp-win -> UTF-8 はだめ。
EUC-JP -> sjis-win -> UTF-8 でOK

mb_convert_encoding(
  mb_convert_encoding($data, 'sjis-win', 'EUC-JP'),
  'UTF-8', 'sjis-win'
);

参考

http://shimax.cocolog-nifty.com/search/200...
PHP5.2だと eucJP-win の代わりに cp51932 が使える?

http://hal456.net/qdmail/irregular_char

もしかして

    他の人の「PHP 機種依存文字を変換」

    S eda1a14b50ee24bcab19b62f40858e76

    無所属ソフトウェアエンジニア

    (1722words)

    最新

      最新エントリ

        関連ツイート