PHP 機種依存文字を変換

1pt

以下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/2007/12/phpeucjputf8_...
PHP5.2だと eucJP-win の代わりに cp51932 が使える?

http://hal456.net/qdmail/irregular_char

「PHP 機種依存文字を変換」について友人に書いてもらう。

あなたにとって「PHP 機種依存文字を変換」とは?

ログインするとワンクリックでキーワードを投稿できます

ログインする 新規登録する

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