[PHP-dev 1364] Re: PHP 5.2.0 以前と PHP 5.2.1RC1 以降で発生する一部の文字コード変換の非互換について

komura komura @ ma9.seikyou.ne.jp
2007年 1月 31日 (水) 06:35:46 JST


komura です。
修正どうもありがとうございました。

legacy-encoding-0.1.1 のテストでの確認を行い、eucJP-win 以外は PHP 5.2.0
と変換が同一になっていることを確認しました。
すでにコミットされたようですが、eucJP-win に関しては、今回の変更は問題
ないように思います。


On Mon, 29 Jan 2007 20:16:57 +0900
MORIYAMA Masayuki <moriyama @ miraclelinux.com> wrote:

> SJIS、EUC-JP、ISO-2022-JP、SJIS-win(CP932) は、PHP 5.2.0 の変換と同一で
> ある事を確認しました。
> 
> eucJP-win に関しては、glibc 等の eucJP-ms との変換の不一致を解消する為、
> PHP 5.2.0 の変換に対して、次のような変更がなされます。
> 
> PHP 5.2.0
> =========
> eucJP-win       Unicode   eucJP-win
> ------------    -------   ------------
> \xAD\xE2     → U+2116 → \x8F\xA2\xF1
> \x8F\xA2\xF1 → U+2116 → \x8F\xA2\xF1
> \x8F\xA2\xC3 → U+00A6 → \x8F\xA2\xC3
>                 U+FFE4 → \x8F\xA2\xC3
> \x8F\xA2\xB7 → U+007E → \x7E
> 
> PHP 5.2.1RC4 + php-5.2.1RC4-mbstring-20070129.patch
> ===================================================
> eucJP-win       Unicode   eucJP-win
> ------------    -------   ------------
> \xAD\xE2     → U+2116 → \xAD\xE2     …… (1)
> \x8F\xA2\xF1 → U+2116 → \xAD\xE2     …… (1)
> \x8F\xA2\xC3 → U+FFE4 → \x8F\xA2\xC3 …… (2)
>                 U+00A6 → \x8F\xA2\xC3 …… (2)
> \x8F\xA2\xB7 → U+FF5E → \xA1\xC1     …… (3)
> (1) … "No." (NUMERO SIGN) は、Unicode → eucJP-win の変換で NEC特殊文字
>        のコードポイントに変換される。
> (2) … \x8F\xA2\xC3 (BROKEN BAR) は、TOG/JVC の eucJP-ms の変換に従う。
> (3) … \x8F\xA2\xB7 JIS X 0212 TILDE は、TOG/JVC の eucJP-ms の変換に従
>        う。

おそらく、記述を忘れておられただけだと思いますが、
私の方で試してみたところ、以下の点も変更されていることを確認しました。

  \x8F\xF4\xAC → U+2116 → \xAD\xE2



ところで、PHP 5.2.1 がもうすぐリリースされそうですが、今回の CP51932 と
ISO-2022-JP-MS のサポートについて、どこかでアナウンスされるようなことは
ないのでしょうか?
個人的には、PHP 5.2.1 の新機能として、(可能であれば)NEWS に載せても良い
のではないかと思います。

-- 
komura <komura @ ma9.seikyou.ne.jp>


PHP-dev メーリングリストの案内