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

MORIYAMA Masayuki moriyama @ miraclelinux.com
2007年 1月 31日 (水) 14:48:20 JST


森山です。

komura wrote:
> legacy-encoding-0.1.1 のテストでの確認を行い、eucJP-win 以外は PHP 5.2.0
> と変換が同一になっていることを確認しました。

検証ありがとうございます。

> おそらく、記述を忘れておられただけだと思いますが、
> 私の方で試してみたところ、以下の点も変更されていることを確認しました。
> 
>   \x8F\xF4\xAC → U+2116 → \xAD\xE2

御指摘の通りでした。

次のようになります。

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\xF4\xAC → 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\xF4\xAC → 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 の変換に従う。
(2)'… PHP 5.2.0 の eucJP-win で変換した Unicode を受け付けるようにする
       為の変換
(3) … \x8F\xA2\xB7 JIS X 0212 TILDE は、TOG/JVC の eucJP-ms の変換に従
       う。

--
森山 将之 <moriyama @ miraclelinux.com>


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