不乱码要注意三点,第一是你编写代码时保存的时候编辑器所用的编码格式,我这就称编写编码,第二是meta标签指定的编码格式,我这里称头文件编码,第三是浏览器解读html时用的编码格式,我这里称浏览编码
浏览编码格式是什么,正常情况是取决与头文件编码写的什么,比方说,你的编码格式是utf-8,你的头文件编码写的是GBK,那么浏览器也会用GBK来解读用utf-8编写的代码,这种情况就会出现乱码(以上情况完全个人推判)
好的,假设我以上的推断是正确的,我的问题来了
我用openOffice把一个word文档生成了一个html文件,因为是生成的,所以html的内容我不可去修改,html的内容我猜想是用gbk编辑的(至于为什么,后面说),而且html的meta写的也是gbk,而我的web项目用的全是utf-8,然后我是这样做的,在jsp页面通过ajax得到html文件的路径,然后用location.href跳转过去,跳转成功了,但是乱码了,我查看了浏览器,浏览器的解读编码用的是utf-8,但这个html文件却GBK编码的,因为如果是utf-8编码的,就不会乱码,这也应证了我刚才的猜想,但是现在有个问题,html虽然是用gbk编码的,但是它的meta写的还是GBK呀,
为什么浏览器没有按照html的meta来指定显示的编码格式呢
这就是我的问题,顺便说一下的是,如果直接双击打开这个html文件是不会乱码的,因为这里浏览器却是用GBK来解读的,也就是说html的meta在这里出现效果了,但不知道为什么在工程中无法出现作用
还请各位大神指点下,怎么解决这个乱码问题,
这里再说一次,html文件是openOffice生成的,所以html的内容我没法去改,或者有大神可以改也可以指点下,
最上面的猜想在这里我是假设成立,如果不对,也请大家指明,然后如果解决,多谢多谢