js彻底解决中文乱码问题

如果一个页面规定了整个页面的编码格式为utf-8,但是由于浏览器默认编码为iso-8859-1,在数据提交到服务器后好说,不管是java还是php都可以轻松的进行不同编码格式之间的相互转换,举一个极端情况的例子,我要把地址栏中的某一段中文数据获取到,并且放到input输入框中,如果页面编码格式是utf-8,那么使用下面这段代码必然是乱码

$(‘input:first’).val(window.location.search)

在js端进行代码转换,最好先转成%30%21%a5这种格式,因为所有字符编码都可以转成这种格式,然后有了统一的格式,我们就可以开转了。那么把地址栏中的中文取出就很方便了.

$('input:first').val(decodeURI(escape(window.location.search))) 

即先编码成%…的形式,然后再以utf-8进行解码,注意这里escape是以iso-8859-1也就浏览器默认进行编码,然后decodeURI使用页面规定的编码方式进行解码,使用这种先编码后解码的方式可以适用于几乎所有的语言环境

引用自http://uyi2.com/docs?id=325

你可能感兴趣的:(知识积累,js彻底解决中文乱码问题)