“mysqladmin怎么改数据库字符集”

“mysqladmin怎么改数据库字符集”,第1张

一、修改myini配置文件(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 ',aDEFAULT_CHARACTER_SET_NAME,' COLLATE ',aDEFAULT_COLLATION_NAME,';') executeSQL FROM information_schemaSCHEMATA a,information_schemaTABLES b

WHERE aSCHEMA_NAME=bTABLE_SCHEMA

AND aDEFAULT_COLLATION_NAME!=bTABLE_COLLATION

AND bTABLE_SCHEMA='数据库名'

四、修改列字符集

ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

生成所有列修改字符集语句:

select btable_name,bcolumn_name,bcharacter_set_name,bcollation_name

,CONCAT('ALTER TABLE ',btable_name,' MODIFY ',bcolumn_name,' ',bDATA_TYPE,'(',bCHARACTER_MAXIMUM_LENGTH,') ',CASE WHEN bCOLUMN_DEFAULT IS NULL THEN '' ELSE CONCAT('DEFAULT \'',bCOLUMN_DEFAULT,'\'') END,' COMMENT \'',bCOLUMN_COMMENT,'\';') executeSQL

from information_schemaTABLES a,information_schemaCOLUMNS b where bcharacter_set_name IS NOT NULL and aTABLE_SCHEMA=bTABLE_SCHEMA AND aTABLE_NAME=bTABLE_NAME

AND aTABLE_COLLATION!=bCOLLATION_NAME

and aTABLE_SCHEMA='数据库名'

(1) 最简单的修改方法,就是修改mysql的myini文件中的字符集键值,

如 default-character-set = utf8

character_set_server = utf8

修改完后,重启mysql的服务,service mysql restart

使用 mysql> SHOW VARIABLES LIKE 'character%';查看,发现数据库编码均已改成utf8

(2) 还有一种修改mysql默认字符集的方法,就是使用mysql的命令

一般就算设置了表的mysql默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:

SET NAMES 'utf8';

它相当于下面的三句指令:

SET character_set_client = utf8;

SET character_set_results = utf8; 

SET character_set_connection = utf8;

由于mysql默认的字符集编码为latin ,而我们一般使用的是gbk 或者 gb2312编码

所以不改过来容易造成乱码

我用的是mysql 50 安装程序安装的 ,安装目录在C:\Program Files\MySQL\MySQL Server 50

请到这个目录下面找到 my。ini文件

修改default-character-set=latin1 为 default-character-set=gbk

记住有两个地方啊 都要改

最重要的一点就是修改文件前,先停止mysql服务 ,等修改后再重新启动

使用dos命令 :net stop mysql 来停止服务 net start mysql 来启动

然后在执行你的mysql脚本 ,一切ok! 这里你可以用discuz的sql做为例子运行!

以上就是关于“mysqladmin怎么改数据库字符集”全部的内容,包括:“mysqladmin怎么改数据库字符集”、如何修改MySQL字符集、如何设置Mysql数据库默认的字符集编码为GBK等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9350318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存