課程
/數據庫
/MySQL
/與MySQL的零距離接觸
SET NAMES gbk,CREATE? utf8都用了,為什么還是無法插入記錄-_-,謝謝指導
2016-12-08
源自:與MySQL的零距離接觸 5-1
正在回答
改了my.ini文件mysql閃退進都進不去了,然后改回來了,但是我數據錄不進去啊,救救孩子吧
| character_set_client???? | utf8??????????????????????????????????????????????????? |
或者題主?set character_set_client=utf8;
+--------------------------+---------------------------------------------------------+| Variable_name??????????? | Value?????????????????????????????????????????????????? |+--------------------------+---------------------------------------------------------+| character_set_client???? | utf8??????????????????????????????????????????????????? || character_set_connection | gbk???????????????????????????????????????????????????? || 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\ |+--------------------------+---------------------------------------------------------+
http://webnoties.blog.163.com/blog/static/183525141201351741319749/
?alter database test charset utf8;一行就搞定了。
很簡單的,你用我的這種方法肯定有用,記得給積分:
create tables_in_imooc charset gbk;(創建數據庫語句,創建為gbk中文,這還不行,因為Client,Conn還是utf8)
use tables_in_imooc;(使用當前數據庫)
status;(查看當前數據庫各種參數,注意Client,Conn是否為gbk,如若不是使用下面代碼)
charset gbk;(當前數據庫Client,Conn設置為gbk)
status;(再次查看,后面執行INSERT)
1.MySQL中默認字符集的設置有四級:服務器級,數據庫級,表級 。最終是字段級 的字符集設置。注意前三種均為默認設置,并不代碼你的字段最終會使用這個字符集設置??梢酝ㄟ^how create table table ; 或show full fields from tableName; 來檢查當前表中字段的字符集設置。
2.表創建后,再修改字段的字符集設置不影響已經插入的數據.
所以才會出在查看字段時出現中文亂碼.此時就只能用:set NAMES ‘utf8/gbk’(用字段插入是所用的相應代碼,且這個命令行并不影響服務器端數據) 來查看中文內容
?
當數據庫和數據表的編碼不一樣時,可能插入中文會出現亂碼!排插步驟如下:(以utf8為例)
第一步:SHOW CREATE DATABASE XXXX;(我的是SHOW CREATE DATABASE test;)
查看你創建的 數據庫是否是:DEFAULT CHARACTER SET utf8
第二步:show create table xxxx?
查看你創建的數據表是否是 DEFAULT CHARSET=UTF8
第三步:
打開my.ini?
在[client]節點下添加?
? ? ? ?default-character-set=utf8
? ? 在[mysqld]節點下添加
? ? ? ?character-set-server=utf8
? ? ? collation-server=utf8_general_ci 保存,重啟mysql!
再 mysql> show variables like 'char%';查看是否是下面一樣:
| 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 | /opt/mysql-cluster/share/mysql/charsets/
按以上步驟執行后,重新創建數據庫imooc和表tdb_goods,就可以插入中文了!O(∩_∩)O~~
qq_微笑王子_0
你的逗號是中文的吧QAQ
不知道你解決了沒,你就按老師說的先 set names =gbk; ?就可以插入了
遙遠4363154 提問者
表也是uft8,也沒有問題
舉報
本課程涵蓋全部MySQL數據庫的基礎,學習MySQL數據庫的基礎知識
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-11-16
2017-09-07
| character_set_client???? | utf8??????????????????????????????????????????????????? |
或者題主?set character_set_client=utf8;
2017-09-07
+--------------------------+---------------------------------------------------------+
| Variable_name??????????? | Value?????????????????????????????????????????????????? |
+--------------------------+---------------------------------------------------------+
| character_set_client???? | utf8??????????????????????????????????????????????????? |
| character_set_connection | gbk???????????????????????????????????????????????????? |
| 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\ |
+--------------------------+---------------------------------------------------------+
2017-09-07
http://webnoties.blog.163.com/blog/static/183525141201351741319749/
2017-09-07
?alter database test charset utf8;一行就搞定了。
2017-03-31
很簡單的,你用我的這種方法肯定有用,記得給積分:
create tables_in_imooc charset gbk;(創建數據庫語句,創建為gbk中文,這還不行,因為Client,Conn還是utf8)
use tables_in_imooc;(使用當前數據庫)
status;(查看當前數據庫各種參數,注意Client,Conn是否為gbk,如若不是使用下面代碼)
charset gbk;(當前數據庫Client,Conn設置為gbk)
status;(再次查看,后面執行INSERT)
2017-02-08
1.MySQL中默認字符集的設置有四級:服務器級,數據庫級,表級 。最終是字段級 的字符集設置。注意前三種均為默認設置,并不代碼你的字段最終會使用這個字符集設置??梢酝ㄟ^how create table table ; 或show full fields from tableName; 來檢查當前表中字段的字符集設置。
2.表創建后,再修改字段的字符集設置不影響已經插入的數據.
所以才會出在查看字段時出現中文亂碼.此時就只能用:set NAMES ‘utf8/gbk’(用字段插入是所用的相應代碼,且這個命令行并不影響服務器端數據) 來查看中文內容
?
當數據庫和數據表的編碼不一樣時,可能插入中文會出現亂碼!排插步驟如下:(以utf8為例)
第一步:SHOW CREATE DATABASE XXXX;(我的是SHOW CREATE DATABASE test;)
查看你創建的 數據庫是否是:DEFAULT CHARACTER SET utf8
第二步:show create table xxxx?
查看你創建的數據表是否是 DEFAULT CHARSET=UTF8
第三步:
打開my.ini?
在[client]節點下添加?
? ? ? ?default-character-set=utf8
? ? 在[mysqld]節點下添加
? ? ? ?character-set-server=utf8
? ? ? collation-server=utf8_general_ci 保存,重啟mysql!
再 mysql> show variables like 'char%';查看是否是下面一樣:
| 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 | /opt/mysql-cluster/share/mysql/charsets/
按以上步驟執行后,重新創建數據庫imooc和表tdb_goods,就可以插入中文了!O(∩_∩)O~~
2017-02-04
你的逗號是中文的吧QAQ
2016-12-11
不知道你解決了沒,你就按老師說的先 set names =gbk; ?就可以插入了
2016-12-08