MySQL 查詢語句中自己定義的中文內容在Java Web 中顯示為問號


 

  Java Web 端做查詢時,性別字段存的是數字,1代表男,2代表女,取數據時將性別轉為漢字顯示在頁面,sql語句如下,結果發生了問題

 select a.emp_id,a.emp_name ,case when a.emp_gendar=1 then '男' when a.emp_gendar=2 then '女' end as emp_gendar, b.post_name
from  t_employee_info a, t_position_info b
where a.post_id = b.post_id; 
 
性別在頁面顯示不出來,顯示的是問號,預期是顯示男或者女,網上查資料發現是因為mysql字符編碼的設置不當引起的,mysql默認的字符編碼為latin1,不支持中文,必須將數據庫編碼設置為支持中文的編碼,才能正確顯示。
 
進入數據庫,輸入:show variables like 'character_set_%';
發現character_set_server utf8 的值為latin1
 
在mysql的安裝目錄下找到my.ini文件, 在my.ini文件中找到[client]和[mysqld]字段,在下面均加上default-character-set=utf8,保存並關閉,重啟mysql服務。
打開再輸入:show variables like 'character_set_%'; 得到如下結果

之后能運行Web程序,性別按照預期顯示為男,女。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM