一、修改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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)