ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java中文乱码常见解决方式

2021-10-25 10:01:58  阅读:234  来源: 互联网

标签:编码 中文 set java utf8 character 乱码 设置 mysql


说明

项目出现中文乱码现象、常见编码解决方法如下。

项目乱码

项目工作空间

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">

编辑器编码设置

NotePad++

编辑器打开一个文件时候乱码
菜单 -> 格式

记事本

存储时,保存为UTF-8格式

服务器乱码

SpringMVC

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编码

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);

JDBC 连接指定编码

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/

标签:编码,中文,set,java,utf8,character,乱码,设置,mysql
来源: https://www.cnblogs.com/janda/p/15457119.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有