工作中常見的執行環境、編碼問題——java
1. 執行環境:(Eclipse)
①右鍵工程–>properties–>Java Compiler–>Compiler compliance level(編譯時JDK版本)
②右鍵工程–>BuildPath–>Configure BuildPath–>Add Library–>JRE System Library(執行時JDK版本)
③右鍵工程–>properties–>Project Facets–>Version/Runtimes
(經常會在這裡切換Tomcat版本!!!)
2. 經常遇到的編碼問題
①整個工作空間的編碼格式(上班第一天一定先改好)
Window–>Preferences–>General–>Workspace–>Text file encoding
記住點OK!!
② 右鍵工程–>properties–>Resource–>Text file encoding(單個工程編碼)
③JSP編碼:Window–>preferences–>Web–>JSP Files–>Encoding
④MySQL資料庫的編碼:
方式一:修改資料庫配置檔案
❶查詢資料庫編碼格式,在輸入完密碼後,輸入
show variables like '%character%';
或者show variables like '%char%';
❷若不一致,則要去MySQL安裝目錄修改my.ini配置檔案(以管理員身份執行)
–在 [mysqld] 標籤下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標籤下已經存在“default-character-set=GBK”類似的內容,只需修改即可。
–在 [mysql] 標籤下加上一行
default-character-set = utf8
–在 [mysql.server]標籤下加上一行
default-character-set = utf8
–在 [mysqld_safe]標籤下加上一行
default-character-set = utf8
–在 [client]標籤下加上一行
default-character-set = utf8
另外查閱資料的時候發現一篇比較好的部落格,想了解MySQL配置檔案具體資訊的可點選連結自行查閱 ——https://www.cnblogs.com/kaige123/p/5947499.html
方式二:修改資料庫單個表的編碼:alter table <表名> convert to character set utf8
方式三:修改資料庫表中單個欄位的編碼:alter table <表名> change <修改前的欄位名> <修改後的欄位名> <資料型別及大小> character set utf8;
⑤連線池中的url改編碼(控制層傳輸資料庫過程中的編碼)
jdbc:mysql://localhost:3306/<工程名>?useUnicode=true&characterEncoding=utf8
其中&
是&
的轉義,有時候使用&
。
⑥servlet中的編碼
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");