2007年 09月 21日

nsIRDFXMLSerializer で日本語を文字化けしないようにする。

http://nanto.asablo.jp/blog/2006/10/23/572458 を途中でやってあげた

var outputStream = {
	data: "",
	close : function () {},
	flush : function () {},
	write : function (buffer, count) {
		// 文字化け対策
		this.data += decodeURIComponent(escape(buffer));
		return count;
	},
	writeFrom : function (stream, count) {} ,
	isNonBlocking: false
};
var ser = Components.classes["@mozilla.org/rdf/xml-serializer;1"]
                    .createInstance(Components.interfaces.nsIRDFXMLSerializer);
ser.init(ds); // ds に DataSource がはいってる 
ser.QueryInterface(Components.interfaces.nsIRDFXMLSource).Serialize(outputStream);
alert(outputStream.data);