我正在使用以下功能将文本保存到文件(在IE-8 w/ActiveX上)。
function saveFile(strFullPath, strContent)
{
var fso = new ActiveXObject( "Scripting.FileSystemObject" );
var flOutput = fso.CreateTextFile( strFullPath, true ); //true for overwrite
flOutput.Write( strContent );
flOutput.Close();
}
如果文本完全是Latin-9,则该代码可以正常工作,但是当文本甚至包含单个UTF-8编码字符时,写入都会失败。
看来,ActiveX FileSystemObject不支持UTF-8。我首先尝试对文本进行UTF-16编码,但结果出现乱码。什么是解决方法?
最佳答案
试试这个:
function saveFile(strFullPath, strContent) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var utf8Enc = new ActiveXObject("Utf8Lib.Utf8Enc");
var flOutput = fso.CreateTextFile(strFullPath, true); //true for overwrite
flOutput.BinaryWrite(utf8Enc.UnicodeToUtf8(strContent));
flOutput.Close();
}
关于javascript - 将UTF8文本写入文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2840252/