[PHP-users 23322]Re: SAX処理で不具合
Sumito_Oda
oda @ bst.jp
2004年 9月 16日 (木) 18:25:16 JST
織田です。
>複数回呼ばれるっていうのはどうしてなのでしょうか?
>また、回避する方法があれば教えていただければ。。。
SAXパ−ザの仕様です。PHPで利用しているのは
既にあったSAXパ−ザをPHPに取り込んだものです。
仕様なので、回避するのではなく必要なら仕様に則した
コードを書くのが正解。
>それと書き損なっているのですが、cdatahandlerのなかで
>このようなことをやってます。これならEUCでもだめでしょうか?
>$data = mb_convert_encoding($text,"EUC-JP","auto");
利用している"SAXパーザの対応する文字コード"に関することなので
パースを掛ける前に対応するものに変換する必要があります。
「$data = fread($fp, 4096)」の部分とか。
各ハンドラから取得したデータを変換するのは、PHP側に適するように
戻す変換の方です。パースされて細切れになっているものなので
"auto"は止めといた方が良いでしょう。文字コードも判っていることだし。
--
Sumito_Oda mailto:oda @ bst.jp
PHP-users メーリングリストの案内