关于mysql中文插入 问号??问题的解决方法!

关于mysql中文插入 问号??问题的解决方法!

  1. 数据库安装的时候会让你选择未来创建库的时候用什么默认字符集,当 然这个当初不记得也没有关系

  2. 我们也可以自己修改
    MySql安装目录下面的my.ini(MySQL Server Instance Configuration 文件)。 设置 default-character-set=gbk(注意,有2处[mysql]和[mysqld])

    [mysql]
    
    default-character-set=gbk
    [mysqld]
    
    
    # The TCP/IP Port the MySQL Server will listen on
    
    port=3306
    
    
    
    #Path to installation directory. All paths are usually resolved relative to this.
    
    basedir="D:/Develop/MySQL/MySQL Server 5.0/"
    
    
    #Path to the database root
    
    datadir="D:/Develop/MySQL/MySQL Server 5.0/Data/"
    
    
    # The default character set that will be used when a new schema or table is
    
    
    # created and no character set is defined
    
    default-character-set=gbk
    
    
    # The default storage engine that will be used when create new tables when
    
    default-storage-engine=INNODB

    这里修改为utf8也可以,但一定要注意,如果你是用doc命令窗口插入数据,由于doc命令窗口和系统的字符集保持一致,中文系统是gbk,那么向表中存入数据就会乱码了

  3. 修改以上的信息后重启数据库服务,在计算机,管理,服务中
    这里写图片描述

  4. 之后通过doc打开你的数据库,查看数据库字符集即可查看,下列查看语句
    这里写图片描述
    红色标记的位置是我们主要修改的位置

  5. 你也可以通过下列语句查看你所创建的数据库和表的字符集

    1、查看数据库字符集:
       show create database mydbname;
       更改数据库字符集:
       alter database mydbname default character set utf8;
    2、查看数据库表的字符集:
       show create table mytable;
       更改数据库表的字符集:
       alter table mytable default character set utf8;
    
  6. 上述的方法是解决mysql不能存中文的问题,如果你没有这些操作,那么存入中文总会报异常
    Data truncation: Data too long for column
    但实际上,有些人发现,中文数据是能存入的,但中文部分全部显示???

  7. 关键!下面我们来说明,能存入中文,但是显示???问号的问题
    其实答案很简单,这种情况通常是你已经创建的数据库和表并不是默认字符集
    即使你按照1-5的做法完成了设置,但是你之前使用mysql所创建的数据库和表,根本不是gbk的,而还是更改之前的默认字符集,你可以通过5的语句查询验证是否这样,如果是这样,那么很简单,删了重新创建,那么再次存入的数据就能正常显示了
    这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值