js代码
所在的页面以及/so/中的那个默认页面,如果是同一个那就当我没说)的编码格式应该一致,都应该是
gb2312
;
其次,如果网址参数中含有
特殊字符
(汉字也属于特殊字符),应该对其进行编码:
window.location.href
=
"/so/?keyword="
+
escape(keyword)
+
"&sid=1"
还是直接UTF-8吧 我告诉你什么原因 是因为
你这个JS文件保存的时候 内部编码选择的其他的编码
所以即使你切换到GB2312或者UTF-8 HTML端和JS端还是会有一个出问题 所以最好的办法是 切换到你 JS不乱码的情况下 然后复制所有JS 然后在新建一个文件然后保存选择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)
})
所以说你在发布时就把字符串转换好然後就没有什麽忧虑了