繁体内码,FSO写入简体内容出错,请大家给看看...

cncat 2005-12-31 01:05:45
操作系统:繁体Windows2000,sp4
IE:6.0

function writeToFile(sContent, sFile){

try{

var fso = new ActiveXObject("Scripting.FileSystemObject");
var textstream = fso.CreateTextFile(sFile, true, false);
textstream.Write(sContent);
textstream.Close();
}catch(E){

alert(E.number + E.description);
}
}

以上代码在sContent不包含简体内容的时候没有问题,否则会出错:-2146828283无效的过程调用或参数。
如果是简体Windows,但是默认内码改成繁体也有同样的问题。

等会写一个错误重现代码贴上来,请了解的朋友多多帮忙!

bow~~
...全文
154 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cncat 2006-01-04
  • 打赏
  • 举报
回复
哦,用adodb.stream看看。
谢谢了!

但是,fso失败的原因在什么地方呢?
madpolice 2006-01-01
  • 打赏
  • 举报
回复
用adodb.stream来读写文件,而不是用fso
cncat 2005-12-31
  • 打赏
  • 举报
回复
顶一顶~
cncat 2005-12-31
  • 打赏
  • 举报
回复

如果您是简体操作系统,请在控制面板区域选项将默认内码改为繁体

您通过在简体或繁体站点拷贝,可以得到简体或者繁体内码的字符串

cncat 2005-12-31
  • 打赏
  • 举报
回复
FSOWriteTest.hta
-----------------〉

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "standards-compliant mode" >
<html >
<head>
<meta http-equiv="Content-Type" content="text/html;">
<title>FSOWriteTest</title>
<script language="JScript">

function saveInput(){
var sContent = txtInput.value;
var sFile = FSOWriteTest.commandLine.substr(1,FSOWriteTest.commandLine.length-3) + ".txt";
writeToFile(sContent, sFile);
}

function writeToFile(sContent, sFile){

try{
alert(sFile);
alert(sContent);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var textstream = fso.CreateTextFile(sFile, true, false);
textstream.Write(sContent);
textstream.Close();
}catch(E){alert(E.number + E.description);}
}
</script>
</head>
<HTA:APPLICATION ID="FSOWriteTest" />

<body >
<input id="txtInput" type="text" name="textfield" value="gb2312 or big5">
<input type="submit" name="Submit" onclick="saveInput();" value="SaveInput">
</body>
</html>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧