html转jsp编码乱码问题

在把一个HTML文件改为jsp文件时出现了中文乱码问题,最后发现只要在转换之前在HTML文件的顶部加入

<%@ page language="java" import="java.util.*" pageEncoding="该HTML文件的编码格式"%>   

便可以显示中文。出现乱码的原因是本身该HTML文件采用了utf-8 的编码方式,我的myeclipsejsp默认使用的是GB18030,,所以转成jsp时jsp使用的是也是gb18030,因为这两种编码方式对中文的编码不一样,所以出现了乱码。在HTML文件中提前加入

<%@ page language="java" import="java.util.*" pageEncoding="该HTML文件的编码格式"%>   这一句可以使在转成jsp文件时采用和HTML文件一样的编码格式,从而解决了编码格式不一致的问题。


<meta charset="UTF-8">便签说明了该HTML文件采用utf-8的编码方式,浏览器在显示该页面时必须采用该种编码方式显示。另外,文件的编码方式不是改一下便签就能改变的,改变文件的编码方式需要借助软件的帮助,所以不要想改一下便签就能把utf-8的HTML文件改成GBK,这样只会导致乱码。


<%@ page contentType="text/html;charset=iso8859-1"%>
这个便签的作用是指定该jsp文件的解码方式,如果和编码方式不一致,那么在浏览器显示时也会出现乱码。

比如编码方式是

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>,

而解码方式为   

<%@ page contentType="text/html;charset=iso8859-1"%>
这样的配置在浏览器就会出现乱码。
总结起来就是出现乱码的原因主要有:
1、文件采用的编码方式和解码方式不一致
2、文件转换前后采用的格式不一致
 

myeclipse 可以选择文件的编码方式,可以和jsp里的encoding一样,也可以不一样。
如果要改变文件的编码方式,就要保证此时显示的不是乱码,把页面encoding改成此时的编码方式,然后properties里的encodig要选Default。在去页面改encoding,就不会出现乱码了。
也就是,要想通过jsp里的encoding 来改变文件编码方式,Text file encoding 必须选Default,但是要保证此时显示的内容不是乱码。要保证这一点,就要先把jsp里的encoding 改成和当前真正的编码方式一样,如果直接改会导致乱码,这时再改jsp里的encoding的话,就无法挽回了。
也就是,jsp里的encoding 不一定就是真正的编码方式,具体还要看properties

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值