設置mysql資料庫字元集
一蔽猜、修改my.ini配置文件(mysql配置文件)
character_set_server = utf8 #設置字元集
重啟mysql資料庫服務
查看當前資料庫字元集
show VARIABLES like 'character%';
二、修改資料庫字元集
alter database 資料庫名 character set utf8;
ps:修改完資料庫字元集,需要重啟mysql資料庫。
三、修改表字元集
ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
生成所有表修改字元集語句:
SELECT TABLE_NAME,CONCAT('ALTER TABLE ',TABLE_NAME,' DEFAULT CHARACTER SET ',a.DEFAULT_CHARACTER_SET_NAME,' COLLATE ',a.DEFAULT_COLLATION_NAME,';'氏並慧) executeSQL FROM information_schema.SCHEMATA a,information_schema.TABLES b
WHERE a.SCHEMA_NAME=b.TABLE_SCHEMA
AND a.DEFAULT_COLLATION_NAME!=b.TABLE_COLLATION
AND b.TABLE_SCHEMA='資料庫名'
四、修改列殲答字元集
ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
生成所有列修改字元集語句:
select b.table_name,b.column_name,b.character_set_name,b.collation_name
,CONCAT('ALTER TABLE ',b.table_name,' MODIFY ',b.column_name,' ',b.DATA_TYPE,'(',b.CHARACTER_MAXIMUM_LENGTH,') ',CASE WHEN b.COLUMN_DEFAULT IS NULL THEN '' ELSE CONCAT('DEFAULT \'',b.COLUMN_DEFAULT,'\'') END,' COMMENT \'',b.COLUMN_COMMENT,'\';') executeSQL
from information_schema.TABLES a,information_schema.COLUMNS b where b.character_set_name IS NOT NULL and a.TABLE_SCHEMA=b.TABLE_SCHEMA AND a.TABLE_NAME=b.TABLE_NAME
AND a.TABLE_COLLATION!=b.COLLATION_NAME
and a.TABLE_SCHEMA='資料庫名'
『貳』 璇烽棶鍦∕ysql涓濡備綍鎶妉atin1瀛楃﹂泦鐨勬暟鎹搴撴敼涓篣TF8瀛楃﹂泦
淇鏀歸粯璁ゅ瓧絎﹂泦
1銆 鏈綆鍗曠殑淇鏀規柟娉曪紝灝辨槸淇鏀筸ysql鐨刴y.ini鏂囦歡涓鐨勫瓧絎﹂泦閿鍊礆紝
濡 default-character-set = utf8
character_set_server = utf8
淇鏀瑰畬鍚庯紝閲嶅惎mysql鐨勬湇鍔★紝service mysql restart
浣跨敤 mysql> SHOW VARIABLES LIKE 'character%';鏌ョ湅錛屽彂鐜版暟鎹搴撶紪鐮佸潎宸叉敼鎴恥tf8
+--------------------------+---------------------------------+
| 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 | D:"mysql-5.0.37"share"charsets" |
+--------------------------+---------------------------------+
2銆佽繕鏈変竴縐嶄慨鏀瑰瓧絎﹂泦鐨勬柟娉曪紝灝辨槸浣跨敤mysql鐨勫懡浠
mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;
3銆佷竴鑸灝辯畻璁劇疆浜嗚〃鐨勯粯璁ゅ瓧絎﹂泦涓簎tf8騫朵笖閫氳繃UTF-8緙栫爜鍙戦佹煡璇錛屼綘浼氬彂鐜板瓨鍏ユ暟鎹搴撶殑浠嶇劧鏄涔辯爜銆傞棶棰樺氨鍑哄湪榪欎釜connection榪炴帴灞備笂銆傝В鍐蟲柟娉曟槸鍦ㄥ彂閫佹煡璇㈠墠鎵ц屼竴涓嬩笅闈㈣繖鍙ワ細
SET NAMES 'utf8';
瀹冪浉褰撲簬涓嬮潰鐨勪笁鍙ユ寚浠わ細
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
**琛ュ厖錛***
鍏堟妸鏁版嵁瀵煎嚭錛屾妸鏁版嵁搴撹漿鎹㈠畬姣曞悗鍐嶆妸鏁版嵁瀵煎洖鏁版嵁搴
***********
--
浠ヤ笂錛屽笇鏈涘逛綘鏈夋墍甯鍔┿
『叄』 mysql 建資料庫用什麼字元集
mysql創建資料庫一般使用的字元集為UTF-8,但具體的要根據實際情況進行選擇。
工具:mysql5.6,Navicat Premium
步驟:
1、打開Navicat Premium,雙擊左側伺服器的樹形結構,連接到伺服器,這里以localhost為例。
『肆』 mysql中怎麼設置字元集
方法1:通過客戶端修改表欄位的默認字元集
打開SQLyog客戶端,連接資料庫如下圖所示,點擊connection 按鈕 連接資料庫
我的資料庫名稱為e,然後我隨意找到資料庫中test2表,右鍵-----》Alter Table
如果安裝資料庫的 時候 沒有選擇字元集設置,那麼mysql資料庫默認為latin1,在箭頭部分選擇utf8字元集
方法2:用資料庫命令修改字元集
首先查看當前資料庫字元集,在命令框中執行如下命令:show variables like 'character_set_%';
查看字元集排序設置,執行命令:show variables like 'collation_%';
修改伺服器級別字元集,執行命令:
1,臨時修改:SET GLOBAL character_set_server=utf8;
修改表級別,命令如下:ALTER TABLE table_name DEFAULT CHARSET utf8;
修改資料庫級別,命令如下:use e(換成你要修改的資料庫名,在這里我的資料庫為e),,然後執行命令:alter database e character set utf-8;
或者修改mysql的my.ini文件中的字元集鍵值
[mysql]
[mysqld]
重啟mysql
『伍』 mysql濡備綍鍦ㄥ凡鏈夋暟鎹搴撲笂緇熶竴瀛楃﹂泦
鍓嶈█
鏁版嵁搴撻噷闈錛岄儴鍒嗘暟鎹琛ㄥ拰鏁版嵁鏄痩atin1鐨勶紝閮ㄥ垎鏁版嵁琛ㄥ拰鏁版嵁鏄疷TF8錛岃繕鏈夐儴鍒嗚〃錛岃〃緇撴瀯鏄痷tf8鑰屾暟鎹鏄痩atin1銆
榪欑嶅囪懇鎯呭喌錛屽伐浣滀簡鍗佸嚑騫寸殑鎴戱紝榪樻槸絎涓嬈$板埌銆備笅闈㈣翠竴涓嬶紝鎬庝箞鏍峰瓧絎﹂泦緇熶竴鎴恥tf8
1錛屽緩涓涓絀烘暟鎹搴
2錛屾妸琛ㄧ粨鏋勫拰鏁版嵁鏄痷tf8鐨勮〃瀵煎嚭錛岀劧鍚庣洿鎺ュ煎叆鍒版柊鐨勬暟鎹搴撲腑
3錛屾暟鎹琛ㄥ拰鏁版嵁閮芥槸latin1鐨勮〃錛屽厛瀵煎嚭琛ㄧ粨鏋勫拰鏁版嵁錛屽姞涓--default-character-set=latin1錛屽皢瀵煎嚭鏂囦歡涓錛宭atin1鏀逛負utf8錛屽湪瀵煎叆鍒版柊鐨勬暟鎹搴撲腑銆
4錛岃〃緇撴瀯鏄痷tf8錛岃〃鏁版嵁鏄痩atin1鐨勶紝鏈変簩縐嶆柟娉曪細
4.1錛屽厛瀵煎嚭琛ㄧ粨鏋勶紝瀵煎叆鍒版柊鐨勬暟鎹搴撲腑銆傚煎嚭鏁版嵁錛屽姞涓--default-character-set=utf8錛屽洜涓鴻〃緇撴瀯鏄痷tf8錛岃〃鏁版嵁鏄痩atin1錛屽叆搴撴椂宸蹭貢鐮併傚湪灝嗘暟鎹瀵煎叆鍒版柊搴撲腑銆傝繖縐嶆柟妗堟湁緙虹偣錛--default-character-set=utf8錛屽煎嚭鐨勬暟鎹鍙鑳戒細鏈変涪澶憋紝瀵煎嚭鐨勬暟鎹錛屽湪瀵煎叆鏃跺彲鑳戒細鎶ラ敊銆
4.2錛屽彲浠ラ氳繃binary瀛楃﹂泦鍋氫腑杞錛屾帹鑽愯繖縐嶆柟娉
UPDATE user SET user_name = CONVERT(CONVERT(CONVERT(user_name USING latin1) USING binary) USING UTF8);
榪欑嶆柟娉曪紝鐪佸幓浜嗗煎嚭瀵煎叆鐨勯夯鐑︼紝閫熷害姣旇緝蹇錛11w鏉℃暟鎹錛屽樊涓嶅5-6縐
鏁版嵁搴撹捐¤繖鍧楅潪甯擱噸瑕侊紝鍦ㄨ捐℃暟鎹搴撴椂涓瀹氳佽冭檻娓呮氥傚湴鍩轟笉鐗錛屽ぇ鍘﹁繜鏃╀細鍊掔殑銆
鎮ㄥ彲鑳芥劅鍏磋叮鐨勬枃絝:綆鏋恗ysql瀛楃﹂泦瀵艱嚧鎮㈠嶆暟鎹搴撴姤閿欓棶棰榤ysql淇鏀規暟鎹搴撶紪鐮(鏁版嵁搴撳瓧絎﹂泦)鍜岃〃鐨勫瓧絎︾紪鐮佺殑鏂規硶mysql瀛楃﹂泦鍜屾暟鎹搴撳紩鎿庝慨鏀規柟娉曞垎浜獶W涓閾炬帴mysql鏁版嵁搴撴椂錛屽緩絝嬪瓧絎﹂泦涓鏂囧嚭鐜頒貢鐮佺殑瑙e喅鏂規硶