GBK環境では「畕」のエンコードが「0xab 0x5c」となっているため、これも「5c」による問題です。
一般に、コード ファイルの文字セットとして Unicode を使用することをお勧めします。GBK を使用する場合は、積極的に変換してください。
ただし、問題に関する限り、スクリプトを GBK でエンコードする必要がある場合、どうすればこの問題を回避できるでしょうか?
PHP5.3 以降、PHP は複数文字セットのエンコーディングをサポートするために Zend Multibyte を導入しました。
次に、php.ini で次のように設定します。mbstring.internal_encoding=cp936
または、次のコマンドを使用して PHP を実行します:
$php -dmbstring.internal_encoding=cp936 test.php
このようにして、PHP は cp936 エンコードで test.php を実行します。Zend Multibyte の詳細については、「PHP: –enable-zend-multibyte 設定オプションとは何ですか?」、「PHP 宣言
」を参照してください。