首页 > 数据库 >mysql写错了怎么改

mysql写错了怎么改

时间:2022-10-27 12:04:53浏览次数:50  
标签:怎么 编码 set default utf8 character 写错 mysql

怎么把mysql的默认编码改成utf-8
检查当前数据库编码。
使用语句:
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,这样做的目的在于,即可以允许你往数据中插入中文字符,又可避免中文乱码的问题。

标签:怎么,编码,set,default,utf8,character,写错,mysql
From: https://blog.51cto.com/yetaotao/5800688

相关文章

  • mysql执行顺序与优化器
    Mysql执行计划的顺序到底怎么看默认从后向前,相同id从上到下。因为这里涉及的标量子查询,可能会出现下边情况:这样执行顺序就是2-3-1php,html,css,js,mysql的运行顺序是什么php......
  • rpm包安装mysql
    如何用源码包安装MySQL数据库下载源码,里面安装说明,一般都是./configure。。。。。。makeinstall,安装起来很慢本回答由提问者推荐如何用源码包安装MySQL数据库下载源码,里面安......
  • mysql运维命令
    mysql面试题selectsnamefromsleftjoincons.sname=c.cnamewherecteacher!='小美'groupbysname;第二天题目太含糊了不做了selects.nameformsleftjoinc......
  • mysql重命名表命令
    mysql重命名column的语法??关于Mysql表名不能重命名的问题这个,你确定保存数据文件的目录下没有“巴依托海乡.frm”这个文件吗?嗯,我没有碰到这种情况,另外我的汉语表名存储的......
  • mysql运维工具
    15个MySQL基础面试题,DBA们准备好了吗问题1:你如何确定MySQL是否处于运行状态?答案:在Debian上运行命令servicemysqlstatus,然后看输出即可。在RedHat或者centos上运行命令ser......
  • mysql约束在哪个表
    mysql常见的约束类型有哪些6种mysql常见的约束:1、非空约束(notnull)非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上。Null类型特征:所有的类型的值都可......
  • mysql语法大全
    求mysql数据库语法1、可以根据这样写:updatetablenameset字段1=什么,字段2=什么where条件本回答由网友推荐mysql语法COUNT函数用于统计,有点儿“合计”的意思。你在加上orderid......
  • mysql用select的子查询结果作为where后筛选条件
    mysqlselect查询语句where子句除了写子查询,还有没有更好的代替子查询的?一使用SELECT子句进行多表查询SELECT字段名FROM表1,表2…WHERE表1.字段=表2.字段AND其它查询条件SELE......
  • Mysql删除用户
    如何在mysql的配置文件添加一个用户注:我的运行环境是widnowsxpprofessional+MySQL5.0一,创建用户:命令:CREATEUSER'username'@'host'IDENTIFIEDBY'password';说明:username......
  • mysql设置远程访问权限
    mysql怎么开启远程登录功能进入cmd命令模式。mysql-hlocalhost-umysql-pEnterpassword:******连接数据库。mysql>usemysql;(此DB存放MySQL的各种配置信息)Databasechangedmy......