1)windows下的mysql配置文件是my.ini,一般在c:/%windowsintalled%/my.ini,在这个文件里面加上
default-character-set=gbk #或gb2312,big5,utf8
然后重新启动mysql
service mysql restart
2)linux下的mysql配置文件是my.cnf,一般是/etc/my.cnf文件, 在这个文件里面加上
default-character-set=gbk #或gb2312,big5,utf8
net stop mysql
net start mysql
(/etc/init.d/mysql restart)
MySQL4.1以前版本的字符集由服务器默认指定,默认值是编译系统时指定的字符集,该字符集也可通过在启动服务器时指定--default-character-set来修改。这种修改会对数据表的索引造成影响,因为索引的顺序是和字符集有关的,修改字符集会使这个已排序的顺序产生错误。要解决该问题,我们要用修改后的字符集的排序顺序重建表的索引。
重建索引有以下几种方法:
1)用mysqldump导出数据,再清除表里的内容,最后用导出文件重新导入。数据表的索引将在导入数时重建。该方法适用于所有数据表类型。
2)删除索引,然后重建。用alter table命令或drop index和create index命令来完成。该方法也适用于所有数据表类型。但该方法需要我们了解重建索引的精确定义。
3)MyISAM数据表的索引可以用myisamchk程序的--recover和--quick选项加上一个用来设定新字符集的--set-character-set选项进行重建。还可以用mysqlcheck程序的--repair和--quick选项或者一个带QUICK选项的REPLACE TABLE语句来重建索引,这种方式较方便。
MySQL4.1以后的版本对字符集的支持好了很多,具有以下新增功能:
支持服务器同时使用多种字符集。
1)允许在服务器,数据库,数据表,数据列等多级别上设置不同的字符集。
2)服务器的默认字符集在编译时选定,但可在启动服务器时用--default-character-set选项来更改。
3)用ALTER DATABASE db_name DEFAULT CHARACTER SET charset来设置数据库字符集。 如果只有default参数,则使用服务器的字符集。
4)用CREATE TABLE table_name(...) CHARACTER SET = charset设置数据表字符集。如果charset为default,则使用数据表所在数据库的字符集作为数据表的字符集。
5)在数据列中,可用CHARACTER SET charset属性来设置数据列的字符集。charset不能是default,如果没有该属性,则默认使用数据表的字符集。允许设置字符集的数据列有char,varchar(不带binary属性)及TEXT类型。
6)用_charset str转换字符串常数的字符集。如:_utf8 'mysql',_latinl 'oracle'。该方法只适用于括在引号内的字符串,其它十六进制常数 、字符串表达式等可用CONVERT()函数进行转换,如:SELECT CONVERT( str USING charset)。
7)通过MySQL提供的函数可进行字符集转换和查询。
8)新增的COLLATE操作符使我们可按某一种字符集的排序顺序来处理另一种字符集的数据。如:SELECT a from t ORDER BY a COLLATE utf-8;
9)用SHOW CHARACTER SET命令可显示服务器支持的字符集列表。
10)当服务器转换到另一种字符集时,会自动对索引进行重新排序。
11)通过UTF-8和UCS2字符集提供了Unicode支持。
分享到:
相关推荐
MYSQL修改字符集默认问题
linux修改mysql字符集 linux修改mysql字符集
关于MySQL字符集查看与修改; MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation)。 MySQL对于字符集的支持细化到四个层次: 服务器(server),数据库(database),...
MySQL 批量修改SCHEMA下所有数据表的编码及字符集
本文将要为您介绍的是修改MySQL默认字符集编码,具体操作过程: 好记心不如烂笔头,很多东西当时没记下来,过了忘了,下次用到时又得浪费好多时间才能解决。又遇到修改MySQL默认字符集编码的问题,折腾了半天解决...
mysql字符集查看以及修改
Linux下修改MySQL字符集 1.查找MySQL的cnf文件的位置 find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/...
安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的默认安装目录分布在不同的文件下;不像windows一样放在同一目录下,只需修改其中...
Mysql字符集设置原理及常见问题解决
解决字符集通讯设置不匹配的方法: (修改默认的character_set_client,character_set_connection,character_set_result)
今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了。 查看MySQL字符集的命令是“show variables like ‘%char%’;”。 以MySQL5.6为例,默认的字符集为: 在工作...
下面小编就为大家介绍两种修改mysql默认字符集的方法。需要的朋友可以过来参考下
主要介绍了Docker下的mysql设置字符集的方法,需要的朋友可以参考下
MySQL默认字符集为latin,若要正确显示中文,需要将字符集更改未utf8。修改字符集在ubuntu14和ubuntu16下略有不同。 编辑配置文件my.cnf $sudo vim /etc/mysql/my.cnf [client] default-character-set=...
LNH_MySQL 14-更改生产线上MySQL数据字符集的方案讲解.mp4
本文通过图文并茂的形式给大家介绍了mysql5.7.18字符集配置教程,非常不错,具有参考借鉴价值,需要的朋友参考下吧
MySQL选择数据库、修改数据库(修改数据库字符集、存储字符符格式)、删除数据库 选择数据库为什么要选择数据库? 因为数据是存储到数据表,表存储在数据库下。如果要操作数据,那么必须要进入到对应的数据库才行。 ...
163、一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。解决方法是在发送查询前执行一下下面这句:
使用MySQL,字符集选择为`utf8`或者`utf8mb4`(支持更多特殊字符,推荐)。 2. 创建数据库导入数据。数据库在`News\`目录下,参考数据脚本创建数据库。 3. 设置项目编码为utf-8,选择jdk1.7版本或以上,不要选择jre...
数据库、表、字段2. 持久改变服务器需要重启服务客户端即时生效3. 命令更改字符集alter database studentdb character set