Idea乱码的解决方案
乱码场景:
1、工程代码乱码。
2、main方法运行,控制台乱码。
3、tomcat运行,控制台乱码。
解决方案:
1、工程代码乱码
Settings > Editor > File Encodings > Global Encodings & Project Encodings 设置为:UTF-8。
2、main方法运行,控制台乱码
Settings > Build, Execution, Deployment > Compile > Java Compiler > Additional command line parameters > 设置为:-encoding utf-8。
3、tomcat运行,控制台乱码
Edit Configurations > Tomcat Server > server > VM options > 设置为:-Dfile.encoding=UTF-8。html乱码原因与网页乱码解决方法
乱码造成的原因
1、比如网页源代码是gbk的编码,而内容中的中文字是utf-8编码的,这样浏览器打开即会出现html乱码。反之网页是编码utf-8,内容是gbk也会出现乱码。
2、html网页编码是gbk,而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码。
3、浏览器不能自动检测网页编码,造成网页乱码。
解决乱码的方案
第一种,html网页源代码编码与中文字输入编码不同。
解决方法:
使用软件进行编辑HTML网页内容,推荐使用DW软件进行HTML代码编辑和开发。
尽量不要直接使用记事本进行编辑HTML代码。
第二种,如果网页设置编码是gbk的,而数据库储存数据编码格式是UTF-8的,这个时候程序查询数据库数据显示数据前进乡程序转码即可。
例如PHP程序+mysql查询显示数据转码:
mysql_query(“SET NAMES ‘UTF8’”); //将查询数据转码为utf8,也就是转换为utf-8
mysql_query(“SET NAMES ‘GBK’”);//将查询数据转码为GBK,如gbk2312在写数据库连接文件时,写成:
host",“password”);
mysql_query(“SET NAMES ‘UTF8’”);
mysql_select_db("conn);
然后在做页面时,注意这句:
这样不管输入数据库的中文,还是页面显示,就都正常了。 在DW CS4版里,默认生成的也是utf8页面。
同样的,如果一开始写数据库连接文件时写成:
mysql_query(“SET NAMES ‘GBK’”);
那页面也要相应变成:
其它asp程序或其它程序语言网站根据实际情况到百度查询转换编码方法。
第三种,浏览器造成乱码。
这个可能是你网页没有设置meta charset编码造成。导致浏览器不能识别你网页默认编码类型。解决方法:
1、如果浏览器浏览时候出现网页乱码,在浏览器中找到转换编码的菜单。
在IE9浏览器中需要转码的网页空白出右键鼠标,即可选择“编码”。
傲游浏览器中浏览需要转码的网页时,菜单“查看”–>“编码”即可选择转换编码
谷歌浏览器中浏览需要转码的网页时,点击右上角“三横”图标选择“工具”–>“编码”即可选择切换网页编码达到让浏览器浏览此网页不是乱码。
傲游浏览器切换当前浏览网页编码截图
2、如果自己开发网页,必须网页加入meta charset编码标签。
或 假如转换时候,不是记事本编辑添加meta charset编码标签就完成,这样同样会造成乱码,那是因为直接记事本添加或修改编码格式后,而对应Html超文本文档内容并没有随添加或修改编码格式而变化,这个时候需要真正意义上的转码,所以最好借助开发软件进行编码添加与修改。
推荐DW软件中修改编码。在DW软件中进行编码修改或添加,并重新载入编码的网页。
解决前端到后端、后端到数据库、后端到前端的乱码问题
1.前端到后端我们可以设置拦截器来改变不相同的编码格式,例如我们在使用springmvc的时候,可以在web.xml中添加
CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 forceEncoding true CharacterEncodingFilter /* ***2后端到数据库(在数据库连接中设置,前提是在request和response中的编码为utf8并且数据库和表的编码也是utf8):***
jdbc.url=jdbc:mysql://localhost:3306/mybatis_springmvc?useUnicode=true&characterEncoding=UTF-83.后端到前端(前提是在request和response中的编码为utf8):
前端的开头部分为:
<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8” contentType=“text/html; charset=utf-8” %>
















