设置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喅鏂规硶