最近在學習HQL的時候,想從數據庫獲取數據時eclipse控制臺亂碼,一開始以為是控制臺設置的編碼有問題,然后就修改了控制臺的編碼,run->run Configurations->common->enconding 改為了utf-8(默認為GBK,創建表的時候用的編碼為utf8),所以想統一編碼,修改后問題依然存在,然后我再修改了工程的properties->resource->text-file-encoding 的編碼為utf-8,但是還是無濟于事,到最后問了個大神,才知道是數據庫的編碼問題,我把問題的解決分享出來,希望有同樣問題的朋友可以更快的解決問題。
1.查看數據庫的編碼,在數據庫客戶端輸入:SHOW VARIABLES LIKE ‘character_set_%’;
2.設置數據庫的編碼為eclipse的默認編碼(如:gbk),在客戶端輸入: SET NAMES ‘gbk’;
它相當于下面的三句指令:
mysql創建數據庫命令,SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;
但是以上只是暫時性的,要想永久性修改,按以下步驟修改即可:
1).要修改數據庫的配置文件my.ini,要修改my.ini之前要將本地服務中的數據庫停止,要不會在保存的時候顯示“拒絕訪問”;
sql數據庫常用命令?2).停止服務后,打開my.ini文件 修改default-character-set=GBK,
在文件末尾加上
character_set_server=GBK
init_connect=’SET NAMES GBK’
3).保存后,再啟動服務,再在數據庫客戶端輸入:SHOW VARIABLES LIKE ‘character_set_%’;查看此時的編碼,除了character_set_filesystem和character_set_system外,其它的編碼都會設置為了gbk,則配置成功。
mysql數據庫類型,(ps:character_set_system是安裝數據庫的時候設置的,要想修改的話,可能需要卸載重裝,如果解決了問題的話,就不要白費精力了)
4.另外值得注意的是,創建表的時候的編碼最好也設置為gbk,讓所有的編碼都統一起來,這樣發生亂碼的情況就會更少了。
以上只是我自己總結出來的一些經驗而已,對數據庫的編碼還沒有很深入的了解,未免有過失和遺漏之處,如有錯誤,請加以指正,另外我有更好的解決辦法,會繼續更新的。謝謝!
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态