G R A N A D A > ブログ >

« 福田明日香 | メイン | スペインGP予選 »

NuSOAP で日本語が文字化け

どうでもいいけど、

「もじばけ」



「ぼじばけ」

って間違って入力したら、

「簿磁場家」

って変換された。むしろこの方が文字化けっぽい(笑)


さて。

SOAP通信を行うPHPのライブラリのNuSOAPですが、
なにやら2バイト文字で化ける。

(というのは、LyricWikiに登録されてる歌詞で、なぜか「 ' 」を2バイト文字の「’」で
 記載されている歌詞があって、それが ? になっちゃうんだよね)

というわけで、解決策。

まぁ世の中のみなさんが色々いってますので、大体はその通りですが、
ちょっとバージョンが古かったもので。

バージョン 1.94 のNuSOAPです。


1.

134行目付近
var $soap_defencoding = 'ISO-8859-1';
 


var $soap_defencoding = 'UTF-8';
 
に。


2.

6200行目付近。
	if($this->decode_utf8){
		$data = utf8_decode($data);
	}
 
をコメントアウト。

	/*
	if($this->decode_utf8){
		$data = utf8_decode($data);
	}
	*/
 
解決。


つか通信時に自動的にデコードしちゃうのってどうなの?
普通通信は生でしてデコードは自分のスクリプト内で、ってカンジじゃないのかな?

まぁいっか!

コメントを投稿

トラックバック

このエントリーのトラックバックURL:
http://www.sotaro-k.com/mt/mt-tb.cgi/276