首页>>百科常识

如何更改MySQL数据库编码为UTF-8或者GB2312?

今天宠物迷的小编给各位宠物饲养爱好者分享mysql设置utf-8的宠物知识,其中也会对如何更改MySQL数据库编码为UTF-8或者GB2312?进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!

如何更改MySQL数据库编码为UTF-8或者GB2312?

如何更改MySQL数据库编码为UTF-8或者GB2312?

mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。 网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。 我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 我们可以通过命令查看数据库当前编码: mysql> SHOW VARIABLES LIKE 'character%'; 发现很多对应的都是 latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。 第一阶段: mysql设置编码命令 [sql] view plain copy 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; 然后 mysql> 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,执行 mysql> SHOW VARIABLES LIKE '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\MySQL Server 5.0\bin\MySQLInstanceConfig**** 重新启动设置,将默认编码设置为utf8.这样就能达到我们所要的效果了。 mysql> 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编码

以更改为utf-8为例,gb2312雷同。
1、关闭mysql服务(以下为命令行中执行)
view
plaincopy
service
mysql
stop
2、修改
/etc/mysql/my***f
(默认的安装路径)
view
plaincopy
vim
/etc/mysql/my***f
打开my***f后,在文件内的[mysqld]下增加如下两行设置:
character_set_server=utf8
init_connect='set
names
utf8'
然后保存退出。
3、重新启动mysql服务
view
plaincopy
service
mysql
start
至此,完成修改默认编码,**mysql后重新使用show
variable
like
'%character%'获得的输出效果

如何更改MySQL数据库编码为UTF-8或者GB2312?

mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。 网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。 我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 我们可以通过命令查看数据库当前编码: mysql> SHOW VARIABLES LIKE 'character%'; 发现很多对应的都是 latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。 第一阶段: mysql设置编码命令 [sql] view plain copy 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; 然后 mysql> 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,执行 mysql> SHOW VARIABLES LIKE '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\MySQL Server 5.0\bin\MySQLInstanceConfig**** 重新启动设置,将默认编码设置为utf8.这样就能达到我们所要的效果了。 mysql> 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

如何设置 zend studio 默认编码为UTF8

  工具: Zend studio   方法: 打开Zend studio,点击Project--properties 点other,选择编码格式 重启之后,看到默认的已经修改了

如何设置mysql数据库为utf-8编码

1、关闭mysql服务(以下为命令行中执行) view plaincopy service mysql stop 2、修改 /etc/mysql/my***f (默认的安装路径) view plaincopy vim /etc/mysql/my***f 打开my***f后,在文件内的[mysqld]下增加如下两行设置: character_set_server=utf8 init_connect='SET NAMES utf8' 然后保存退出。 3、重新启动mysql服务 view plaincopy service mysql start 至此,完成修改默认编码,**mysql后重新使用show variable like '%character%'获得的输出效果如下:

如何在mysql中存取utf8mb4编码的字符?

utf8编码可以支持一到4字节的字符编码,在mysql用我们一般使用utf8编码来处理字符类型,通常情况下都没有问题,但遇到4字节编码的字符,在数据存取的时候就会有问题了。
通常我们可能会得到一个错误或者警告:Incorrect string value: '/xF0/x9D/x8C/x86' for column ...
Mysql 从5.5.3版本开始支持4字节的utf8编码,如果你的Mysql数据库是5.5.3+,按照以下步骤就能解决这个问题,如果版本低于5.5.3,是不是可以考虑升级数据库版本呢?
1、在修改数据库编码前先对数据库备份(虽然utf8mb4兼容utf8,但有备无患)
2、修改数据库的编码、表的编码、列的编码为utf8mb4
3、在Mysql数据库配置文件(my.ini)中加入如下设置

[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci

重新启动Mysql数据库,确认设置生效

mysql> show VARIABLES like '%char%';+--------------------------+----------------------------------------+| Variable_name | Value |+--------------------------+----------------------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8mb4 || character_set_system | utf8 || character_sets_dir | /home/app/mysql-5.5.33/share/charsets/ |+--------------------------+----------------------------------------+8 rows in set

4、在获取数据库连接的时候执行sql:set names utf8mb4;我使用的是alibaba的开源数据库连接池程序,在配置文件中增加一行如下配置



重新启动应用程序,问题解决

如何设置mysql数据库为utf-8编码

 检查当前数据库编码。
  使用语句:
  show variables like ‘%character%’;
  show variables like’%collation%’;
  

  如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:
  如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8

  如果没有该程序,需要手动修改mysql编码。
  1、 编辑MySql的配置文件
  MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my***f
  
  --在 [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可在服务管理器中操作,也可使用命令行:
  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编码

你要是用一个可视化操作的界面就简单了,就比如navicat for mysql右键数据库-->数据库属性--->字符集--->utf-8 unicode /排序规则--->utf8-gernal-ci就行了

如何mysql 5.7的编码设置成utf8mb4

整理 MySQL 8.0 文档时发现一个变更:
默认字符集由 latin1 变为 utf8mb4。想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。
当时的需求背景是:
部分系统使用的字符集是 utf8,但 utf8 最多只能存 3 字节长度的字符,不能存放 4 字节的生僻字或者表情符号,因此打算迁移到 utf8mb4。
迁移方案一1. 准备新的数据库实例,修改以下参数:[mysqld]## Character Settingsinit_connect='SET NAMES utf8mb4'#连接建立时执行设置的语句,对super权限用户无效character-set-server = utf8mb4collation-server = utf8mb4_general_ci#设置服务端校验规则,如果字符串需要区分大小写,设置为utf8mb4_binskip-character-set-client-handshake#忽略应用连接自己设置的字符编码,保持与全局设置一致## Innodb Settingsinnodb_file_format = Barracudainnodb_file_format_max = Barracudainnodb_file_per_table = 1innodb_large_prefix = ON#允许索引的最大字节数为3072(不开启则最大为767字节,对于类似varchar(255)字段的索引会有问题,因为255*4大于767)

2. 停止应用,观察,确认不再有数据写入
可通过 show master status 观察 GTID 或者 binlog position,没有变化则没有写入。
3. 导出数据
先导出表结构:mysqldump -u -p --no-data --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --databases testdb > /backup/testdb.sql
后导出数据:mysqldump -u -p --no-create-info --master-data=2 --flush-logs --routines --events --triggers --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --database testdb > /backup/testdata.sql

4. 修改建表语句
修改导出的表结构文件,将表、列定义中的 utf8 改为 utf8mb4
5. 导入数据
先导入表结构:mysql -u -p testdb < /backup/testdb.sql
后导入数据:mysql -u -p testdb < /backup/testdata.sql

6. 建用户
查出旧环境的数据库用户,在新数据库中创建
7. 修改新数据库端口,启动应用进行测试
关闭旧数据库,修改新数据库端口重启,启动应用

mysql客户端窗口的编码怎么改成UTF-8的

mysql客户端窗口的编码改成UTF-8,这可方便向MySQL数据库中,插入中文时,不至于插入不进去,或者插入进去了显示乱码。以下以Navicat for Mysql为例如何设置mysql客户端编码为UTF-8。 没设置成UTF-8之前,插入中文记录是无法插入的。 选择test数据库,右键数据库属性。 字符集下拉选择utf8。 修改好,关闭test数据库,重新打开,把之前的表编码修改成utf-8 插入一条含有中文的数据,成功插入,查询结果,已没有乱码出现。

本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“如何更改MySQL数据库编码为UTF-8或者GB2312?

标签:宠物爱好