[PHP-users 12936] wddxについて

Reiji Matsumoto php-users@php.gr.jp
Sat, 1 Feb 2003 21:20:59 +0900


Matsumot@spと申します。

wddx_serialize_value() をNetBSD 1.6で利用するに当たりご教示頂きたい
事がございます。よろしくお願いします。

現在、以下のプログラムを正常に動作させる事ができません。

<php?
setlocale(LC_ALL,"ja_JP.eucjp");
$a = "赤黒";
$b = wddx_serialize_value($a);
print "<xmp>$b</xmp>";
?>
※<xmp>タグは'<'を含めブラウザ上にテキストをそのまま表示するタグです。

このプログラムはLinuxでは問題なく動作し、ブラウザに

<wddxPacket version='1.0'><header/><data><string>赤黒
</string></data></wddxPacket>

と表示されます。しかし、NetBSD1.6上で動作させると、

<wddxPacket version='1.0'><header/><data><string><char code='FFFFFFC0'/>char
code='FFFFFFB9'/>/string></data></wddxPacket>

と、表示されてしまいます。また、常に同じ表示になるわけでもなく、何回に
1回はlinuxの場合と同様に出力されたりもします。

構築時のconfigureオプションは以下の通りです。
./configure
--with-apxs=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/lib
--with-pgsql=/usr/local/pgsql
--enable-mbstring --enable-mbregex
--enable-mbstr-enc-trans
--enable-trans-sid --enable-sysvshm
--enable-cli
--enable-xml
--enable-wddx


phpの問題と言うよりは、OSのロケール処理の問題のようにも思うのですが、
現在原因が掴めておりません。何か対処法をご存知の方いらっしゃいましたら
ご指導下さいますよう、お願い致します。

Matsumoto@Sp