项目出现中文乱码现象、常见编码解决方法如下。
在 Windows -> Prefenrences -> General -> Workspace
中进行设置
在创建项目工作空间的时候、优先设置编码,在该工作空间下创建的项目默认遵循工作框架配置
在 Project -> Resource
中设置
创建项目的时候、设置编码,则项目下文件都将会和项目统一
文件右键 Properties -> Resource
文件头一般是HTML、JSP标签头部添加编码
JSP:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
HTML:
添加在
<head>
标签里面
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
编辑器打开一个文件时候乱码
在 菜单 -> 格式
存储时,保存为UTF-8
格式
在web.xml
添加
<filter> <description>字符集过滤器</description> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <description>字符集编码</description> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Tomcat 的 conf/server.conf
设置编码、设置为:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
添加:URIEncoding="UTF-8"
属性
设置请求、响应编码
//设置获取请求的编码 request.setCharacterEncoding("utf-8") //设置服务器端的编码 response.setCharacterEncoding("utf-8"); //通知浏览器服务器发送的数据格式 response.setContentType("text/html;charset=utf-8");
String oldStr = "编码设置"; String newStr = new String(oldStr.getBytes(), "UTF-8"); System.out.println("UTF-8编码:" + newStr);
url=jdbc:mysql://127.0.0.1/database?characterEncoding=UTF-8
编码可选:
mysql> set character_set_client=utf8; mysql> set character_set_connection=utf8; mysql> set character_set_database=utf8; mysql> set character_set_results=utf8; mysql> set character_set_server=utf8; mysql> set character_set_system=utf8; mysql> set collation_connection=utf8; mysql> set collation_database=utf8; mysql> set collation_server=utf8;
创建表的时候、指定编码:DEFAULT CHARSET=UTF8;
CREATE TABLE `type` ( `id` int(10) unsigned NOT NULL auto_increment, `type_name` varchar(50) character set utf8 NOT NULL default '', PRIMARY KEY (`id`) ) DEFAULT CHARSET=UTF8;
如果出现乱码现象、可对应文章修改。
更多编码设置、后续补充。
参考网站(个人站):https://liujilu.com/2017/08/04/setup-encode/