本文目录一览:
怎么把mysql的默认编码改成utf-8
检查当前数据库编码。 使用语句:
show variables like '%character%';
show variables like '%collation%';
如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下: 如果安装mysql时安装了"MySql Sever Instance Configuration Wizard",则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8 如果没有该程序,需要手动修改mysql编码。
- 编辑MySql的配置文件
MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是
/etc/my.cnf
- 在
[mysqld]
标签下加上以下内容:
default-character-set = utf8
character_set_server = utf8
注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。
- 在
[mysql]
标签下加上一行
default-character-set = utf8
- 在
[mysql.server]
标签下加上一行
default-character-set = utf8
- 在
[mysqld_safe]
标签下加上一行
default-character-set = utf8
- 在
[client]
标签下加上一行
default-character-set = utf8
- 重新启动MySql服务 Windows可在服务管理器中操作,也可使用命令行:
net stop mysql
net start mysql
服务名可能不一定为mysql,请按自己的设置 Linux下面可以使用:
service mysql restart
如果出现启动失败,请检查配置文件有没有设置错误 3. 查看设置结果 登录MySql命令行客户端:打开命令行
mysql -uroot -p
输入密码 进入mysql后 执行:
show variables like "% character %";
另外: 建立数据库时可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改数据库编码的命令为:
alter database app_relation character set utf8;
如何更改MySQL数据库编码为UTF-8或者GB2312?
mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。 网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。 我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 我们可以通过命令查看数据库当前编码:
SHOW VARIABLES LIKE 'character%';
发现很多对应的都是 latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。 第一阶段: mysql设置编码命令
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
然后执行:
SHOW VARIABLES LIKE 'character%';
你可以看到全变为 utf8。 但是,这只是一种假象 此种方式只在当前状态下有效,当重启数据库服务后失效。 所以如果想要不出现乱码只有修改my.ini文件, 从my.ini下手(标签下没有的添加,有的修改)
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
以上3个section都要加default-character-set=utf8,平时我们可能只加了mysqld一项。 然后重启mysql,执行:
SHOW VARIABLES LIKE 'character%';
确保所有的Value项都是utf8即可。 但是可恶的事情又来了,
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 | latin1 |
character_set_system | utf8 |
注意该配置 character_set_server 无法设置成UTF8,交互时候仍然会出现乱码。 |
|
第二阶段:找到下面这东东 |
X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe
重新启动设置,将默认编码设置为utf8。这样就能达到我们所要的效果了。
SHOW VARIABLES LIKE 'character%';
+--------------------------+---------------------------------------------------------+ | 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 | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ | +--------------------------+---------------------------------------------------------+ 8 rows in set
怎么修改mysql数据库字符集编码为utf-8
你要是用一个可视化操作的界面就简单了,就比如navicat for mysql 右键数据库 -> 数据库属性 -> 字符集 -> utf-8 unicode 排序规则 -> utf8-general-ci就行了
如何设置mysql数据库为utf-8编码
以更改为UTF-8为例,GB2312雷同。
- 关闭mysql服务(以下为命令行中执行)
service mysql stop
- 修改
/etc/mysql/my.cnf
(默认的安装路径)
vim /etc/mysql/my.cnf
打开my.cnf后,在文件内的[mysqld]
下增加如下两行设置:
character_set_server=utf8
init_connect='SET NAMES utf8'
然后保存退出。 3. 重新启动mysql服务
service mysql start
至此,完成修改默认编码,登陆mysql后重新使用 show variables like '%character%'
获得的输出效果