导航:首页 > 编程语言 > jsurlgb2312编码

jsurlgb2312编码

发布时间:2024-12-31 14:27:04

js中文乱码,我的js是GBK编码,html<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

希望在前台使用gbk,就可以让后台输出的内容编码为gbk ,比如php中是用iconv()函数。

❷ js中有没有把十六进制数转换成Unicode字符的函数

根本不用你编写十六进制转换unicode
document.writeln(escape("你好"))
再给你几个函数encodeURI,encodeURIComponent unescape 方法
这些方法足够你完成版中文参数传权递

❸ 如何使用encodeuricomponent 在js中编码在java中解码

地址栏中出现汉字的情况有两种,一种是汉字出现在URL的路径部分,一种是汉字出现在URL的传参的部分,第二种情况的时候必须采用编码后传参,接受时解码的方式完成传参。js中编码有escape(),encodeURI(),encodeURIComponent()三个常用的方法,escape()常常用在提交页面和处理页面的编码格式相同的情况下(比如它们都是GB2312),encodeURI()和encodeURIComponent()的用法基本相同,区别在于encodeURIComponent()也对"?"等特殊字符进行编码。
一开始遇到中文参数的时候,使用encodeURI()进行了一遍编码,传过去后,发现解码出现问题,于是想到可能是编码方法使用错误,于是使用escape()方法,这时发现解码时抛出isHexDigit异常。借助网络搜索isHexDigit异常,
发现原来,是escape()方法造成了异常,同时了解了浏览器传递地址的一些原理,在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码,两位两位取出后进行解码,然后再传递给处理页面,
然后由处理页面进行再次解码。由此我想到一直使用encodeURI方法是正确的,只是需要使用两次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文编码成%xy的格式,
第二次是对%xy中的%进行编码,%籂亥焚酵莳寂锋檄福漏编码成%。整个传参过程大体应该是:提交页面使用encodeURI(encodeURI("中文"))编码,把最后的编码结果%xy传递给处理页面的过程中,浏览器获取URL地址
(注意openModelDialog方法,浏览器获取不到参数编码)后解码成%xy,然后把%xy传递给处理页面,处理页面使用URLDecoder.decode(request.getParameter("参数名"),"UTF-8");完成解码。
总结:1、汉字出现在URL路径部分的时候不需要编码解码;

❹ 如何用js同时兼容GB2312编码与UTF-8编码

然而你这并不是写JS的问题, 而是Server端编码没写好
但既然你在用JS就可以无视编码了
所有的字符都可以被\uxxxx替代
比如
'测试' == '\u6e2c\u8a66'
甚至你可以这麽写代码
\u0061\u006c\u0065\u0072\u0074('\u6e2c\u8a66')
具体到如何得到这个串, 方法很多, 而且JS自身就能做到, 比如
'测试'.replace(/[\u0100-\uffff]/g,function(S)
{
return '\\' + escape(S).substr(1)
})
所以说你在发布时就把字符串转换好然後就没有什麽忧虑了

❺ 求教JS中使用escape将汉字转换为ascii的好处

escape()和unescape()是一对编码解码函数,一般用于URL中非ASCII字符的编码和解码!
如:escape("&")返回%26,unescape("%26")返回&,都用十六进制编码!

这个函数在AJAX技术应用中发送中文字串很有用,特别是AJAX向GB2312编码的ASP程序发送中文时很有用!如:要将name="东方不败"发给red.asp(asp为gb2312如果为UTF-8的话就不用编码)前先做escape(name),这样发到red.asp时中文就不会乱码,指接用request接收就行了!

❻ JS对URL字符串进行编码/解码分析

虽然escape()、encodeURI()、encodeURIComponent()三种方法都能对一些影响URL完整性的特殊
字符进行过滤。但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问
题。例如:发送页与接受页的编码格式(Charset)不一致(假设发送页面是GB2312而接收页面编码是
UTF-8),使用escape()转换传输中文字串就会出现乱码问题。
以下是JS下对URL进行编/解码的各种方法:
escape
方法:返回一个可在所有计算机上读取的编码
String
对象。
function
escape(charString
:
String)
:
String
不会被此方法编码的字符:
@
*
/
+
说明:escape
方法返回一个包含
charstring
内容的字符串值(Unicode
格式)。所有空格、标点、
重音符号以及任何其他非
ASCII
字符都用
%xx
编码替换,其中
xx
等于表示该字符的十六进制数。
例如,空格返回为“%20”。(字符值大于
255
的字符以
%uxxxx
格式存储。)
注意:escape
方法不能用来对“统一资源标识符”(URI)
进行编码。对其编码应使用
encodeURI

encodeURIComponent
方法。
encodeURI
方法:返回编码为有效的统一资源标识符
(URI)
的字符串。
function
encodeURI(URIString
:
String)
:
String
不会被此方法编码的字符:!
@
#
$
&
*
(
)
=
:
/
;
?
+
'
说明:encodeURI
方法返回一个已编码的
URI。如果将编码结果传递给
decodeURI,则将返回初始的
字符串。encodeURI
不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用
encodeURIComponent
对这些字符进行编码。
encodeURIComponent
方法:返回编码为统一资源标识符
(URI)
的有效组件的字符串。
function
encodeURIComponent(encodedURIString
:
String)
:
String
不会被此方法编码的字符:!
*
(
)
'
说明:encodeURIComponent
方法返回一个已编码的
URI。如果将编码结果传递给
decodeURIComponent,则将返回初始的字符串。因为
encodeURIComponent
方法将对所有字符编码,
请注意,如果该字符串代表一个路径,例如
/folder1/folder2/default.html,则其中的斜杠也将被
编码,这样,当该字符串作为请求发送到
Web
服务器时它将是无效的。如果字符串中包含多个
URI
组件,请使用
encodeURI
方法进行编码。
unescape
方法:从用
escape
方法编码的
String
对象中返回已解码的字符串。
function
unescape(charString
:
String)
:
String
说明:unescape
方法返回一个包含
charstring
内容的字符串值。所有以
%xx
十六进制形式编码的
字符都用
ASCII
字符集当中等效的字符代替。(以
%uxxxx
格式(Unicode
字符)编码的字符用十六
进制编码
xxxx

Unicode
字符代替。)
注意:unescape
方法不应用于解码“统一资源标识符”(URI)。请改用
decodeURI

decodeURIComponent
方法。
decodeURI
方法:返回一个已编码的统一资源标识符
(URI)
的非编码形式。
function
decodeURI(URIstring
:
String)
:
String
decodeURIComponent
方法:返回统一资源标识符
(URI)
的一个已编码组件的非编码形式。
function
decodeURIComponent(encodedURIString
:
String)
:
String
BTW:C#中对URL编码的方法。。。
编码:Server.UrlEncode(string)
解码:Server.UrlDecode(string)
前面三种客户端编码都可以用这个方法在后台解码。

❼ 在jsp中用js接收request中的值,中文乱码

java web项目中文乱码一般修改以下几个地方即可解决问题:
1、设置jsp页面的编码格式
2、在web.xml中配置请求拦截器来转换数据编码格式
3、设置web容器(比如:tomcat等)的默认编码格式
4、设置数据库的编码格式

另外,需要注意的是post和get请求方式提交数据。get方式请求不会走在在web.xml中配置的请求拦截器,所以url中尽量不要带有中文,或使用post的请求方式。

希望对你有所帮助!

❽ js页面是gb2312编码,怎么解决jQuery.ajax中文乱码问题(不能转换页面编码,否则会导致更多问题)

前端:
var str = "张三";
$.ajax({
type:"",
url:"who.action",
data:{"name",encodeURI(encodeURI(str))},
success: ,
dataType
}
服务器端:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode("name", "gb2312");
关键是你要发送的数据要通过两层的enCodeURI()函数转换。

阅读全文

与jsurlgb2312编码相关的资料

热点内容
slickeditlinux破解 浏览:512
linux所有命令 浏览:654
UG编程牛人有哪些 浏览:346
asp并发数过大数据库出错 浏览:656
word怎么做游戏文件 浏览:515
mkvtomp4使用教程 浏览:847
在平板里面用什么app可以画画 浏览:786
eclipse执行java 浏览:559
ubuntu安装qq输入法 浏览:163
qq发送无效文件 浏览:194
linux复制到windows 浏览:399
编程怎么编写点击开始播放 浏览:959
加工中心6轴用哪个软件编程 浏览:101
如何制作一个网上网站 浏览:860
tp华为路由器初始密码是多少 浏览:790
金融行业网站模板 浏览:307
腾讯qq欢乐斗地主旧版本免费下载 浏览:198
去除文件名中的非法字符 浏览:34
三星壁纸在哪个文件夹里 浏览:293
游戏下载数据要多少流量 浏览:721

友情链接