方法/步骤
如果没有配置好cmd里面的mysql 环境变量,那就在系统高级设置那儿进行MySQL的环境变量设置。
win+R,调出“运行”,输入cmd,回车
登录数据库,
查看数据库
查看数据库字符编码
通过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 character_set_system=utf8;
mysql> set collation_connection=utf8;
mysql> set collation_database=utf8;
mysql> set collation_server=utf8;
当然还有:
修改数据库的字符集mysql>use mydb
mysql>alter database mydb character set utf8;
创建数据库指定数据库的字符集
mysql>create database mydb character set utf8;
分不同的类型,可按以下三种方式查询:
一、查看MySQL数据库服务器和数据库MySQL字符集。
命令:
mysql> show variables like '%char%';二、查看MySQL数据表(table)的MySQL字符集。
命令:
mysql> show table status from sqlstudy_db like '%countries%';三、查看MySQL数据列(column)的MySQL字符集。
命令:
mysql> show full columns from countries;1、MySQL默认的字符集是UTF8;
2、对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)。
3、具体的字符集可以通过修改配置文件(mycnf)进行调整。
utf8编码可以支持一到4字节的字符编码,在mysql用我们一般使用utf8编码来处理字符类型,通常情况下都没有问题,但遇到4字节编码的字符,在数据存取的时候就会有问题了。\x0d\通常我们可能会得到一个错误或者警告:Incorrect string value: '/xF0/x9D/x8C/x86' for column \x0d\Mysql 从553版本开始支持4字节的utf8编码,如果你的Mysql数据库是553+,按照以下步骤就能解决这个问题,如果版本低于553,是不是可以考虑升级数据库版本呢?\x0d\1、在修改数据库编码前先对数据库备份(虽然utf8mb4兼容utf8,但有备无患)\x0d\2、修改数据库的编码、表的编码、列的编码为utf8mb4\x0d\3、在Mysql数据库配置文件(myini)中加入如下设置\x0d\\x0d\[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci\x0d\\x0d\重新启动Mysql数据库,确认设置生效\x0d\\x0d\mysql> show VARIABLES like '%char%';+--------------------------+----------------------------------------+| Variable_name | Value |+--------------------------+----------------------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8mb4 || character_set_system | utf8 || character_sets_dir | /home/app/mysql-5533/share/charsets/ |+--------------------------+----------------------------------------+8 rows in set\x0d\\x0d\4、在获取数据库连接的时候执行sql:set names utf8mb4;我使用的是alibaba的开源数据库连接池程序,在配置文件中增加一行如下配置\x0d\\x0d\\x0d\\x0d\重新启动应用程序,问题解决
通过客户端修改表字段的默认字符集
1
打开SQLyog客户端,连接数据库如下图所示,点击connection 按钮 连接数据库
2
我的数据库名称为edu,然后我随意找到数据库中test2表,右键-----》Alter Table
3
如果安装数据库的 时候 没有选择字符集设置,那么mysql数据库默认为latin1,在箭头部分选择utf8字符集
END
用数据库命令修改字符集
1
首先查看当前数据库字符集,在命令框中执行如下命令:show variables like 'character_set_%';
2
查看字符集排序设置,执行命令:show variables like 'collation_%';
3
修改服务器级别字符集,执行命令:
1,临时修改:SET GLOBAL character_set_server=utf8;
2,永久修改:打开/etc/mysql/mycnf,在[mysqld]后添加character-set-server=utf8
4
修改表级别,命令如下:ALTER TABLE table_name DEFAULT CHARSET utf8;
修改数据库级别,命令如下:use edu(换成你要修改的数据库名,在这里我的数据库为edu),,然后执行命令:alter database edu character set utf-8;
5
或者修改mysql的myini文件中的字符集键值
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
重启mysql
以上就是关于如何修改MySQL字符集全部的内容,包括:如何修改MySQL字符集、怎样查看mysql自定义数据库的编码字符集、mysql默认字符集是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)