问题说明:在进行网站开发时,将表单的提交功能交给JS来传递,但是在传递中文的过程中出现类似于繁体字的乱码。
解决方案:为了解决这个问题,首先从底层的C#代码审查,重新设置页面传值进行模拟,但是几经测试没有出现乱码的情况。然后监视网页传值给JS代码时,JS处理过程中,发现“中文”也是正常的,最后将问题定位于JS传值给处理页面的过程中出现了乱码,经过自己的努力,终于将这个问题解决。
具体的解决方案:
<1>在参数验证过程加入了代码的转化,具体的代码如下,formData就是参数数组。
for (var i=0; i < formData.length; i++)
{
formData[i].value=escape(formData[i].value);
}
函数代码
Code
附注:
<2>后台处理代码,将代码进行转化,转为正常的编码显示。
String User = Server.UrlDecode(Request["User"]);
附注:URL 编码确保所有浏览器均正确地传输 URL 字符串中的文本。在某些浏览器中,像?、&、/ 和空格这样的字符可能会被截断或损坏,因此这些字符不能在ASP.NET页的<A>标记或查询字符串中使用,在查询字符串中进行编码时,浏览器会以请求字符串的形式重新发送这些字符串。
解决方案:为了解决这个问题,首先从底层的C#代码审查,重新设置页面传值进行模拟,但是几经测试没有出现乱码的情况。然后监视网页传值给JS代码时,JS处理过程中,发现“中文”也是正常的,最后将问题定位于JS传值给处理页面的过程中出现了乱码,经过自己的努力,终于将这个问题解决。
具体的解决方案:
<1>在参数验证过程加入了代码的转化,具体的代码如下,formData就是参数数组。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
<2>后台处理代码,将代码进行转化,转为正常的编码显示。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)