zoukankan
html css js c++ java
JS传参出现乱码
问题说明:
在进行网站开发时,将表单的提交功能交给JS来传递,但是在传递中文的过程中出现类似于繁体字的乱码。
解决方案:
为了解决这个问题,首先从底层的C#代码审查,重新设置页面传值进行模拟,但是几经测试没有出现乱码的情况。然后监视网页传值给JS代码时,JS处理过程中,发现“中文”也是正常的,最后将问题定位于JS传值给处理页面的过程中出现了乱码,经过自己的努力,终于将这个问题解决。
具体的解决方案:
<1>在参数验证过程加入了代码的转化,具体的代码如下,formData就是参数数组。
for
(
var
i
=
0
; i
<
formData.length; i
++
)
{
formData[i].value
=
escape(formData[i].value);
}
函数代码
Code
function
validates(formData, jqForm, options)
{
var
queryString
=
$.param(formData);
for
(
var
i
=
0
; i
<
formData.length; i
++
)
{
if
(
!
formData[i].value)
{
alert(
'
您还有一些项目没有填写
'
);
return
false
;
}
if
(i
==
0
)
{
if
(
!
isStockCode(formData[i].value))
{
alert(
'
请您输入6位股票代码!
'
);
return
false
;
}
}
}
for
(
var
i
=
0
; i
<
formData.length; i
++
)
{
formData[i].value
=
escape(formData[i].value);
}
}
附注:
escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +。
<2>后台处理代码,将代码进行转化,转为正常的编码显示。
String User
=
Server.UrlDecode(Request[
"
User
"
]);
附注:URL 编码确保所有浏览器均正确地传输 URL 字符串中的文本。在某些浏览器中,像?、&、/ 和空格这样的字符可能会被截断或损坏,因此这些字符不能在ASP.NET页的<A>标记或查询字符串中使用,在查询字符串中进行编码时,浏览器会以请求字符串的形式重新发送这些字符串。
查看全文
相关阅读:
软件测试工具
Linux笔记
Google Test
字典dict()
元组tuple 可迭代对象
列表list
一些总结
format()
列表list
format() expandtabs() 输入表格数据
原文地址:https://www.cnblogs.com/yank/p/1238097.html
最新文章
安装ubuntu18.10并连接xshell6
本地连接虚拟机_环境搭建01_VMWARE/XShell/CentOS
Win10 子系统Linnux部署tensorflow
阿里云短信验证_基于阿里云OpenAPI实现
Linux下sublime 无法输入中文的解决
简单的词法分析器的实现
ping
ubuntu 更显列表 [Connecting to archive.ubuntu.com (2001:67c:1360:8001::21)] 超时的解决方法
ubuntu16.04更改源
APT
热门文章
ubuntu16.04部署RED5流媒体服务器
基于Android的手机APP
笔记
test_1
theme purple
linux c++计算程序运行时长
TCP/IP面试题
1.2 Logistic回归
软件测试笔试题
重构用例修改
Copyright © 2011-2022 走看看