html转jsp编码乱码问题

    xiaoxiao2021-04-15  24

    在把一个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

    转载请注明原文地址: https://ju.6miu.com/read-671969.html

    最新回复(0)