html中文乱码一般都是由于编码不一致导致,一般是代码声明或者浏览器默认的编码与文件保存的实际编码不一致造成的,解决的方法就是要代码中声明的代码要和文件保存的编码一致,这样中文就不会出现乱码的现象了。
工具原料:编辑器、浏览器
1、首先在html代码中声明字符集即编码,意思就是告诉浏览器以什么编码来解析本文件,代码如下:
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p>测试中文乱码</p>
</body>
</html>
2、以上代码的中的<meta charset="UTF-8">就是声明字符集使用的utf-8。
3、声明字符集后浏览器解析的时候就会以声明的字符集去解析文档,但是要保证解析的不乱码,就要保证文件保存时候的编码格式和声明的格式一致才行,如下图:
4、选择一致的utf-8编码后保存,运行的时候就可以保证中文不会乱码了,如下图:
html文件乱码一般是因为编码格式不匹配造成的,现在大部分浏览器默认编码的是utf-8,所以解决乱码问题搞清楚编码格式就可以了,下面介绍下解决的方法
工具/材料notepad++
01打开notepad++,新建一个HTML文件,选择编码里面的ANSI格式编写代码
02打开文件所在的位置
03双击HTML文件,跳转到浏览器,发现乱码
04鼠标右键当前页面,查看浏览器的编码为Unicode(utf-8)
05回到编辑器,更改编码格式为utf-8,保存后,刷新浏览器页面,文字内容正常显示。
06当然,更改浏览器的编码也是可以的,更改为GBK,对应的就是ANSI格式,文字也能正常显示
在jsp文件中的html显示乱码是因为服务端和客户端的编码不一致导致的。如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。
解决办法:
1、未指定使用字符集编码
下面的显示页面(display.jsp)就出现乱码:
<html>
<head>
<title>JSP的中文处理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文处理")%>
</body>
</html>
只要在页面开始地方用下面代码指定字符集编码即可,在JSP页面中指定编码方式(gb2312),和浏览器解码方式设置相同,即在页面的第一行加上:
<%@ page contentType="text/htmlcharset=gb2312"%>,就可以消除乱码了。
完整页面如下:
<%@ page contentType="text/htmlcharset=gb2312"%>
<html>
<head>
<title>JSP的中文处理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文处理")%>
</body>
</html>
2、 编码字符集设置不一致
<%@ page language="java" pageEncoding="gb2312"%>
<%@ page contentType="text/htmlcharset=iso8859-1"%>
<html>
<head>
<title>JSP的中文处理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文处理")%>
</body>
</html>
第一处<%@ page language="java" pageEncoding="gb2312"%>的编码格式为jsp文件的存储格式。Eclipse会根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。
第二处编码为解码格式。因为存为gb2312的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是必须一致。而第二处所在的这一行,可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,也会出现乱码。必须一致才可以。
第三处编码为控制浏览器的解码方式。如果前面的解码都一致并且无误的话,这个编码格式用不用设置都可以。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式出现了乱码。
完整解决代码如下:
<%@ page language="java" pageEncoding="gb2312"%>
<%@ page contentType="text/htmlcharset= gb2312"%>
<html>
<head>
<title>JSP的中文处理</title>
<meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head>
<body>
<%out.print("JSP的中文处理")%>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)