mysql编码问题

MySQL的默认编码是Latin1,不支持中文,要支持中文需要把数据库的默认编码修改为gbk或者utf8。
1、查看编码以root 方式登录 在mysql下查看编码的方式为

其中:
character_set_client              客户端编码方式;
character_set_connection     为建立连接使用的编码;
character_set_database        数据库的编码;
character_set_results            结果集的编码;
character_set_server             数据库服务器的编码;
只要保证以上编码统一为utf8 或者gbk,就不会出现乱码问题。
2、修改数据库编码
1)、创建数据库指定数据库的字符集

     mysql> create database mydb character set gbk;#直接指定其编码

2)、直接通过命令进行修改

     set character_set_client=gbk;

     set character_set_connection=gbk;

     set character_set_database=gbk;

     set character_set_results=gbk;

     set character_set_server=gbk;

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

         停止MySQL的运行
         MySQL主配置文件为my.cnf
         当我们需要修改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码修改,在linux下修改mysql的配置文件my.cnf,文件位置                默认/etc/my.cnf文件添加default-character-set=gbk
        重启数据库
4)、 执行脚本:指定编码格式set names gbk(注意,不是UTF-8)可以修改
      从执行命令前后可知,

 SET NAMES 'gbk';

它相当于下面的三句指令:
SET character_set_client =gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;

并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。也可发现数据库底层的编码方式没有改变,插入数据后还是以原来的编码方式保持。

5)、修改数据库或表的语句:

    1. 创建数据库
         mysql> create database name character set gbk;

    2. 创建表
        CREATE TABLE `test` (
        `id` int(10) unsigned NOT NULL auto_increment,
        PRIMARY KEY (`id`)
        ) DEFAULT CHARSET=gbk;

    3. 修改数据库成utf8的.
         mysql> alter database name character set gbk;

     4. 修改表默认用utf8.
         mysql> alter table type character set gbk;

     5. 修改字段用utf8
        mysql> alter table type modify type_name varchar(50) CHARACTER SET gbk;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值