当前位置:  数据库>mysql

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

    来源: 互联网  发布时间:2014-10-07

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

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%';

2、linux系统下,修改MySQL数据库默认编码的步骤为:
ü 停止MySQL的运行
/etc/init.d/mysql start (stop) 为启动和停止服务器
ü MySQL主配置文件为my.cnf,一般目录为/etc/mysql
var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹
ü 当我们需要修改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

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

4、当MySQL数据库服务器已经有数据不适合删除重装时,可以个别指定数据库的编码方式。MySQL指定编码的方式是非常灵活并多样化的,可以指定表级别的编码,行级别编码,甚至可以指定字段级别的编码。
以下示例给出创建数据库时指定编码的两种方式:
1)CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci;
2)create 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_client、character_set_connection、 character_set_results的编码方式,并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。也可发现数据库底层的编码方式没有改变,插入数据后还是以utf8编码方式保持。

    
 
 

您可能感兴趣的文章:

  • redhat linux 9英文版下怎样显示windows中文目录和查看中文文件?
  • 在Linux中如何查看中文版的PDF文件?
  • 如何在Solaris下查看UTF-8编码得中文字体 (不想安UTF-8得汉字字库)
  • Oracle字符集修改查看方法 iis7站长之家
  • 为什么mount了的Fat32系统上的中文mp3不查看和播放?
  • Linux 系统下无法查看Windows 中创建的中文文件名
  • 解决linux下查看日志中文乱码
  • MyEclipse如何查看和设置文件编码格式相关操作
  • linux查看系统编码和修改系统编码的方法
  • 编码查看和修改
  • hpux有查看文件编码格式是哪种的命令么?
  • linux下查看文件编码
  • 查看oracle数据库的编码及修改编码格式的方法
  • 查看及修改Oracle编码格式方法
  • Linux解决乱码问题以及查看文件编码方式
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 如何修改通过locale命令查看到的系统字符集
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • cvs如何查看服务器上哪些文件做了修改,而又不更新本地文件?
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • 查看和修改Oracle服务器端字符集
  • 怎样在saloris2.6下 修改和查看 ip地址,以及网关和子网掩码,我是新手,望指教。
  • Oracle字符集修改查看方法
  • 查看修改Oracle10G归档日志空间的限制
  • linux下文件被修改,如何查看相关日志?
  • linux查看所有用户和查看用户组的方法(修改用户组)
  • linux 下查看用户和修改密码
  • Oracle查看和修改连接数(进程/会话/并发等等)
  • ORACLE查看并修改最大连接数的具体步骤
  • oracle查看字符集后修改oracle服务端和客户端字符集的步骤
  • 一个可以接收键盘事件的application修改成applet用IE查看时就无法接收键盘事件,请问应该如何处理?
  • SQLServer触发器创建、删除、修改、查看示例代码
  • sql server 2005创建-修改-查看分区表的方法介绍
  • sql server 触发器实例 创建、删除、修改、查看触发器的例子
  • oracle查看字符集和修改字符集使用详解
  • 深入Oracle字符集的查看与修改详解
  • redhat/centos 常用信息查看命令整理
  • unix在终端下如何查看如何查看 光盘里的内容? 如何进入光盘所在目录? 用什么命令可以查看光盘里文件的目录?
  • Ubuntu查看系统信息命令介绍
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • Ubuntu查看硬盘,分区相关命令介绍
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • resin及jetty介绍以及如何 查看他们的版本号
  • ls查看时,查看到的4294967294 啥意思,熊猫请进
  • Ubuntu查看内存,进程相关命令介绍
  • linux命令问题 输入一个查看命令(比如help) 显示满屏后 我怎么查看上一页的显示


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3