怎么把mysql的默认编码改成utf-8标签:怎么,编码,set,default,utf8,character,写错,mysql From: https://blog.51cto.com/yetaotao/5800688
检查当前数据库编码。
使用语句:
showvariableslike‘%character%’;
showvariableslike’%collation%’;
如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:
如果安装mysql时安装了“MySqlSeverInstanceConfigurationWizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8
如果没有该程序,需要手动修改mysql编码。
1、编辑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
2、重新启动MySql服务
Windows可在服务管理器中操作,也可使用命令行:
netstopmysql回车
netstartmysql回车
服务名可能不一定为mysql,请按自己的设置
Linux下面可是用servicemysqlrestart
如果出现启动失败,请检查配置文件有没有设置错误
3、查看设置结果
登录MySql命令行客户端:打开命令行
mysql–uroot–p回车
进入mysql后执行:showvariableslike"%character%";
建立数据库时可以使用以下命令:
createdatabaseapp_relationcharactersetutf8;
useapp_relation;
sourceapp_relation.sql;
修改数据库编码的命令为:
alterdatabaseapp_relationcharactersetutf8;
如何更改MySQL数据库编码为UTF-8或者GB2312?
mysql创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。
网页数据一般采用UTF8编码,而数据库默认为latin。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。
我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来
我们可以通过命令查看数据库当前编码:
mysql>SHOWVARIABLESLIKE'character%';
发现很多对应的都是latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。
第一阶段:
mysql设置编码命令
[sql]viewplaincopy
SETcharacter_set_client=utf8;
SETcharacter_set_connection=utf8;
SETcharacter_set_database=utf8;
SETcharacter_set_results=utf8;
SETcharacter_set_server=utf8;
然后mysql>SHOWVARIABLESLIKE'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,执行
mysql>SHOWVARIABLESLIKE'character%';
确保所有的Value项都是utf8即可
但是可恶的事情又来了,
|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|latin1无法设置成UTF8交互时候仍然会出现乱码
第二阶段:找到下面这东东
X:\%path%\MySQL\MySQLServer5.0\bin\MySQLInstanceConfig.exe
重新启动设置,将默认编码设置为utf8.这样就能达到我们所要的效果了
mysql>SHOWVARIABLESLIKE'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:\ProgramFiles\MySQL\MySQLServer5.0\share\charsets\|
+--------------------------+---------------------------------------------------------+
8rowsinset
前台html是GB2312,后台PHP是UTF-8,出现了乱码,?
tukiz33 tukiz33 在做一个项目之前起码要想好用什么编码~~可以使用DW转换一下就可以了,同意成一样记得看看你的数据库是什么编码,可别出现3种不同编码的情况,呵呵 查看原帖>>
「带BOM的UTF-8」和「无BOM的UTF-8」有什么区别?网?
没区别,所有浏览器模型都是BOM的
如何修改MYSQL的编码为utf8
UTF-8是UTF-8编码是一种目前广泛应用于网页的编码,它其实是一种Unicode编码,即致力于把全球所有语言纳入一个统一的编码。
前UTF-8已经把几种重要的亚洲语言纳入,包括简繁中文和日韩文字。
所以在制作某些网站时,需要使用UTF-8,找到菜单的修改——页面属性——标题和编码,在编码列表中选择UTF-8后确定即可。就是你在建表的时候,在字段后面,追加设置为utf8。
mysql要解决中文乱码,最好是你把数据库的默认编码都改掉,我一般这样处理:
在mysql安装目录下的my.ini文件中做如下修改:
[mysql]下面修改
default-character-set=utf8
[mysqld]下面修改
default-character-set=utf8
把编码统一成utf8,这样做的目的在于,即可以允许你往数据中插入中文字符,又可避免中文乱码的问题。
如何修改MYSQL的编码为utf8
UTF-8是UTF-8编码是一种目前广泛应用于网页的编码,它其实是一种Unicode编码,即致力于把全球所有语言纳入一个统一的编码。
前UTF-8已经把几种重要的亚洲语言纳入,包括简繁中文和日韩文字。
所以在制作某些网站时,需要使用UTF-8,找到菜单的修改——页面属性——标题和编码,在编码列表中选择UTF-8后确定即可。就是你在建表的时候,在字段后面,追加设置为utf8。
mysql要解决中文乱码,最好是你把数据库的默认编码都改掉,我一般这样处理:
在mysql安装目录下的my.ini文件中做如下修改:
[mysql]下面修改
default-character-set=utf8
[mysqld]下面修改
default-character-set=utf8
把编码统一成utf8,这样做的目的在于,即可以允许你往数据中插入中文字符,又可避免中文乱码的问题。