`
frinder
  • 浏览: 35952 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

修改MySql默认编码

 
阅读更多

安装MySQL之后修改编码方式

MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8

1、需要以root用户身份登陆才可以查看数据库编码方式(root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:

>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8

其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;

character_set_results结果集的编码;

character_set_server数据库服务器的编码;

只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

另一个查看数据库编码的命令:

>show variables like ‘collation%’;


2linux系统下,修改MySQL数据库默认编码的步骤为:

  • 停止MySQL的运行
    /etc/init.d/mysql start (stop)
    为启动和停止服务器

  • MySQL主配置文件为my.cnf,一般目录为/etc/mysql

var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windowsmysqldate文件夹

  • 当我们需要修改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码修改,linux下修改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件

    找到客户端配置[client] 在下面添加
    default-character-set=utf8
    默认字符集为utf8
    在找到[mysqld] 添加

    default-character-set=utf8
    默认字符集为utf8
    init_connect='SET NAMES utf8'
    (设定连接mysql数据库时使用utf8编码,以让mysql数据库为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 | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

此方法用于标准mysql版本同样有效,对于/etc/my.cnf文件,需要从mysql/support-files的文件夹cp my-large.cnf一份到/etc/my.cnf


3windows系统下可以删除MySQL数据库,并重新安装,在安装过程中可以直接用Mysql Server Instance Config Wizard 进行设置


4、当MySQL数据库服务器已经有数据不适合删除重装时,可以个别指定数据库的编码方式。MySQL指定编码的方式是非常灵活并多样化的,可以指定表级别的编码,行级别编码,甚至可以指定字段级别的编码。

以下示例给出创建数据库时指定编码的两种方式:

1CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci

2create database if not exists netctoss default character set utf8;

5、如果你采用的是外部接入的方式,可以在连接中确定请求的编码格式如:jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8(注意:不要出现任何空格,否则出错)

6、执行脚本:指定编码格式set names gbk(注意,不是UTF-8)可以修改

执行前:

执行后:

从执行命令前后可知,set names gbk只可以修改character_set_clientcharacter_set_connectioncharacter_set_results的编码方式,并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。也可发现数据库底层的编码方式没有改变,插入数据后还是以utf8编码方式保持。

分享到:
评论

相关推荐

    更改MySql数据库的默认编码格式

    不重装Mysql如何更改MySql数据库的默认编码格式

    如何修改MYSQL的默认编码

    MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明 需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法: Windows系统 1、中止...

    修改MySQL默认字符集编码

    本文将要为您介绍的是修改MySQL默认字符集编码,具体操作过程:  好记心不如烂笔头,很多东西当时没记下来,过了忘了,下次用到时又得浪费好多时间才能解决。又遇到修改MySQL默认字符集编码的问题,折腾了半天解决...

    Linux中修改mysql默认编码的方法步骤

    以下以把MySQL默认编码修改为UTF-8作为例子演示修改流程: 1、先查看mysql的信息 # 查看数据库安装位置 whereis mysql # 登录数据库 mysql -u root -p 按提示输入密码 # 查看mysql状态 mysql>status 2、修改my.cnf...

    查看修改mysql编码方式让它支持中文(gbk或者utf8)

    MySQL的默认编码是Latin1,不支持中文,要支持中文需要把数据库的默认编码修改为gbk或者utf8。 1、需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入...

    Linux使用MySQL忘记root密码及修改MySQL默认编码

    本篇文章主要介绍了Linux使用MySQL忘记root密码及修改MySQL默认编码,碰到这个问题的朋友可以参考下。

    MySQL修改默认字符集编码的方法

    今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了。 查看MySQL字符集的命令是“show variables like ‘%char%’;”。 以MySQL5.6为例,默认的字符集为: 在工作...

    MySQL编码与中文显示

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。

    Unity3D教程:修改mysql字符编码成为UTF82

    163、一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。解决方法是在发送查询前执行一下下面这句:

    Centos7 + Mysql +JDK

    安装Centos7 然后安装Mysql 修改Mysql默认编码为utf8 Centos防火墙端口设置,JDk安装及环境变量设置

    修改mysql5.5默认编码(图文步骤修改为utf-8编码)

    安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码;mysql数据库的默认编码并不是utf-8如何修改呢,本文将详细介绍,感兴趣的朋友可以了解下

    mysql+php乱码编码配置修改方案(非常详细纯原创)

    大家在用php联合mysql的时候经常会遇上乱码的情况,那么经过我的一番研究已经解决了,现在给大家一起分享下

    windows下mysql 5.7版本中修改编码为utf-8的方法步骤

    刚开始学习MySQL,下载的是官网最新版本 5.7.14,使用cmd输入中文时报错,于是开始修改mysql默认编码(windows下),下面来看看详细的修改方法吧。 方法如下 首先通过 show variables like 'character_set_%';查看...

    mysql默认编码为UTF-8 通过修改my.ini实现方法

    mysql默认的编码是Latin1是I-8859-1的别名,但Latin1是不支持汉字的,所以要将其改为UTF-8或GBK 1.关闭mysql服务器,这个很重要。 2.通过my.ini设置mysql数据库的编码 在mysql数据库的安装根目录下找到my.ini,例:C...

    MAC下修改mysql默认字符集为utf8的方法

    本文主要介绍了如何修改MAC版mysql默认字符集为utf8,如果你的MAC版mysql字符乱码,可以参考一下

    MySQL编码不一致可能引起的一些问题

    MySQL 存储过程中, 表和数据的编码与数据库和存储过程默认的编码不同则可能出现 sql 不会使用索引的情况, 因为 MySQL 会对条件列的数据做相应的编码转换, 比如以下, 表数据为 latin1, MySQL 解析器会做一些转换: ...

    MySql修改数据库编码为UTF8避免造成乱码问题

    我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 我们可以通过命令查看数据库当前...

Global site tag (gtag.js) - Google Analytics