java中文亂碼常見解決方式
阿新 • • 發佈:2021-10-25
說明
專案出現中文亂碼現象、常見編碼解決方法如下。
專案亂碼
專案工作空間
在 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;
補充
如果出現亂碼現象、可對應文章修改。
更多編碼設定、後續補充。