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>标记或查询字符串中使用,在查询字符串中进行编码时,浏览器会以请求字符串的形式重新发送这些字符串。
查看全文
相关阅读:
C#开发: 通信篇-串口调试助手
C#开发: 准备工作-C# 新建工程
C#开发: 准备工作-Visual Studio 安装
ESP8266 SDK开发: 外设篇-串口
ESP8266 SDK开发: 外设篇-定时器,延时
ESP8266 SDK开发: 外设篇-GPIO中断检测
【java编程】加载Resources配置文件的方法
【java高级编程】jdk自带事件模型编程接口
【mybatis源码学习】mybtias知识点
【java编程-Javassist】秒懂Java动态编程(Javassist研究)
原文地址:https://www.cnblogs.com/yank/p/1238097.html
最新文章
mysql乱码
spring task 配置
mysql免安装版本
ThreadLocal,Java中特殊的线程绑定机制
静态导入Static import
使用Jsoup解析html网页
AngularJs Cookie 的使用
angularjs post
Laravel 5.5 FormRequest 自定义错误消息 postman调试时X-Requested-With设为XMLHttpRequest
Postman模拟ajax请求 并模拟登陆
热门文章
【Laravel】 常用的artisan命令【原创】
php安装imagemagick扩展 常见问题与解决方案(win平台)
windows下pem转ppk
2018年最新PHP面试题
Linux Centos 删除除某(多)个文件之外的所有文件
rtpproxy 配置
OpenSips使用说明
CentOS7 yum安装Java+Apache(httpd)+Tomcat并开启自启动
ESP8266 SDK开发: 外设篇-PWM,呼吸灯
ESP8266 SDK开发: 综合篇-C#上位机串口通信控制ESP8266
Copyright © 2011-2022 走看看