weboffice的HttpAddPostString传中文字符时的乱码解决方法

转自:http://hi.baidu.com/yfann/blog/item/461c46fbafddd6186d22ebc2.html,感谢作者的分享
2010-09-28 12:42dsoframer v2.2 直接通过HttpAddPostString();添加的中文回传参数会因为dsoframer http上传模块无法处理中文而使用 " □ "代替中文,而导致中文信息丢失。所以出现乱码。所以只在服务器端采用任何编码转换都是无效的。

解决思路:dsoframer http上传模块无法处理中文,但对英文字符处理还是没有问题的。
在客户端可以用 escape() 函数对中文回传参数进行编码,得到的是英文字符的Unicode 的url编码。
在服务器端用Server.UrlDecode()进行解码,得到中文字符。

解决方法:
客户端(javascript):
document.all.office.HttpAddPostString("DocTitle",escape(title));
服务器端(C#):
DocTitle = Request["DocTitle"].ToString();
DocTitle = Server.UrlDecode(DocTitle);

你可能感兴趣的:(JavaScript,c,服务器,C#,url,2010)