如果一个页面规定了整个页面的编码格式为utf-8,但是由于浏览器默认编码为iso-8859-1,在数据提交到服务器后好说,不管是java还是php都可以轻松的进行不同编码格式之间的相互转换,但是java并没有提供这个功能,只有一些偏门功夫,不过也够用了
举一个极端情况的例子,我要把地址栏中的某一段中文数据获取到,并且放到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使用页面规定的编码方式进行解码,使用这种先编码后解码的方式可以适用于几乎所有的语言环境