原 薦 MySQL命令視窗中文亂碼或插入中文資料失敗
字數 513
閱讀 8
收藏 0
開發十年,就只剩下這套Java開發體系了 >>>
在Windwos上使用命令視窗操作MySQL資料庫時,如果命令視窗的字元編碼與資料庫不一致時,就會出現中文亂碼的情況
比如查詢會出現中文亂碼,或者插入資料會出現錯誤“ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1”
mysql> insert into user(name,gender,age) values('張三','男',22); ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1 mysql> select * from user; +----+----------+--------+-----+---------------------+ | id | name| gender | age | updated_time| +----+----------+--------+-----+---------------------+ |1 | zhangsan | M|22 | 2018-10-31 17:03:25 | |2 | 寮犱笁| 鐢?|22 | 2018-11-01 09:01:43 | +----+----------+--------+-----+---------------------+ 2 rows in set (0.00 sec)
這時可以先檢視下環境編碼配置,我的是utf8,結果是下面這樣
mysql> show variables like 'char%'; +--------------------------+---------------------------------------------------------+ | Variable_name| Value| +--------------------------+---------------------------------------------------------+ | character_set_client| utf8| | character_set_connection | utf8| | character_set_database| utf8| | character_set_filesystem | binary| | character_set_results| utf8| | character_set_server| utf8| | character_set_system| utf8| | character_sets_dir| C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ | +--------------------------+---------------------------------------------------------+ 8 rows in set (0.00 sec)
檢視windwos命令視窗的的屬性可知,編碼格式為GBK且不能更改
這時我們可以使用“set names gbk;”來指定客戶端傳送給mysql語句時的編碼格式,並且可以看到client、connection、results三個變數的編碼格式變為了gbk,其它的沒有變化
mysql> set names gbk; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'char%'; +--------------------------+---------------------------------------------------------+ | Variable_name| Value| +--------------------------+---------------------------------------------------------+ | character_set_client| gbk| | character_set_connection | gbk| | character_set_database| utf8| | character_set_filesystem | binary| | character_set_results| gbk| | character_set_server| utf8| | character_set_system| utf8| | character_sets_dir| C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ | +--------------------------+---------------------------------------------------------+ 8 rows in set (0.00 sec)
再次執行下插入操作沒問題了,查詢資料中文也不會亂碼了
mysql> insert into user(name,gender,age) values('張三','男',22); Query OK, 1 row affected (0.04 sec) mysql> select * from user; +----+----------+--------+-----+---------------------+ | id | name| gender | age | updated_time| +----+----------+--------+-----+---------------------+ |1 | zhangsan | M|22 | 2018-10-31 17:03:25 | |2 | 張三| 男|22 | 2018-11-01 09:01:43 | +----+----------+--------+-----+---------------------+ 2 rows in set (0.00 sec)

© 著作權歸作者所有
上一篇: Spring專案搭建
相關文章 最新文章
今天,在使用MySQL命令列客戶端查詢時,發現查詢的結果中文亂碼,用其他第三方客戶端工具進行查詢,中文資料不是亂碼,很是奇怪。搜狗一番,找到了亂碼原因:中文作業系統中,其命令列程式的...
IceRainYWC
2013/05/10
0
0
對於mysql資料庫的亂碼問題,有兩中情況: 1. mysql資料庫編碼問題(建庫時設定)。 2. 連線mysql資料庫的url編碼設定問題。 對於第一個問題,目前個人發現只能通過重新建庫解決,建庫的時候...
有資本再款
2015/09/09
100
0
問題:在pycharm中正常的fetchall拉取資料,能夠正常顯示,而在cmd中直接select卻出現中文亂碼。 解決思路:右鍵檢視cmd命令視窗屬性得到,cmd視窗預設編碼是gbk(如下圖所示),而設定的mys...
fang_faye
09/20
0
0
如何向mysql5資料庫插入中文 ———— JAVA學習室(http://www.java3z.com) 向mysql5資料庫正常插入中文,操作如下: 1.把字符集設定為能支援中文的gbk(在my.ini檔案中改) 2.把資料庫的Clien...
wqli
2012/09/07
0
2
最有力的解決辦法連結: http://www.busfly.net/post/58.html -------------------------------------------------------------------------- MySQL的老手們: 本人用MySQL時不能夠處理中文,......
小梅菜鳥
2012/05/15
0
0
沒有更多內容
載入失敗,請重新整理頁面
載入更多1、所需環境 Linux:這裡使用CentOS 7.5 MySQL:5.5及以上 PHP:5.2及以上 Apache:也可使用nginx Git 2、安裝環境 2.1、 指令碼安裝 2.1.1、指令碼 install_rhel-derivs.sh https://secure.phab...
zx1024
20分鐘前
1
0
機緣巧合下,在快要畢業時找到了一份網路工程師的工作,對於學習通訊工程的我來說,也不算是跨專業就業吧。在入職之前也瞭解了一下網路工程師的學習路徑,網路工程師是從事計算機資訊系統的設...
linuxprobe16
35分鐘前
2
0

LTS 1、啟動jobtracker sh jobtracker.sh zoo start 2、啟動admin sh lts-admin.sh restart
王橋修道院副院長
38分鐘前
1
0
在Play1.2.4中Controller中的方法需要static修飾符號才能成為一個Action。 所以像獲取pageNum和searchword引數時只能夠在Action中定義臨時變數來儲存引數。這樣必然會存在大量重複的程式碼,比...
tuerqidi
39分鐘前
1
0

沒有更多內容
載入失敗,請重新整理頁面
載入更多