为了账号安全,请及时绑定邮箱和手机立即绑定

SET NAMES gbk,CREATE utf8都用了,为什么还是无法插入记录-_-,谢谢指导

http://img1.sycdn.imooc.com//584891f40001ca9805100376.jpg


SET NAMES gbk,CREATE  utf8都用了,为什么还是无法插入记录-_-,谢谢指导

正在回答

10 回答

https://img1.sycdn.imooc.com//5bee6edb0001b1e108640237.jpg改了my.ini文件mysql闪退进都进不去了,然后改回来了,但是我数据录不进去啊,救救孩子吧

0 回复 有任何疑惑可以回复我~

| character_set_client     | utf8                                                    |

或者题主 set character_set_client=utf8;

0 回复 有任何疑惑可以回复我~

+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | gbk                                                     |
| 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.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+

0 回复 有任何疑惑可以回复我~

http://webnoties.blog.163.com/blog/static/183525141201351741319749/

0 回复 有任何疑惑可以回复我~

 alter database test charset utf8;一行就搞定了。

0 回复 有任何疑惑可以回复我~

很简单的,你用我的这种方法肯定有用,记得给积分:

create tables_in_imooc charset gbk;(创建数据库语句,创建为gbk中文,这还不行,因为Client,Conn还是utf8)

use tables_in_imooc;(使用当前数据库)

status;(查看当前数据库各种参数,注意Client,Conn是否为gbk,如若不是使用下面代码)

charset gbk;(当前数据库Client,Conn设置为gbk)

status;(再次查看,后面执行INSERT)


0 回复 有任何疑惑可以回复我~

1.MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。可以通过how create table table ; 或show full fields from tableName; 来检查当前表中字段的字符集设置。

2.表创建后,再修改字段的字符集设置不影响已经插入的数据.

所以才会出在查看字段时出现中文乱码.此时就只能用:set NAMES ‘utf8/gbk’(用字段插入是所用的相应代码,且这个命令行并不影响服务器端数据) 来查看中文内容

 

当数据库和数据表的编码不一样时,可能插入中文会出现乱码!排插步骤如下:(以utf8为例)

第一步:SHOW CREATE DATABASE XXXX;(我的是SHOW CREATE DATABASE test;)

查看你创建的 数据库是否是:DEFAULT CHARACTER SET utf8

第二步:show create table xxxx 

查看你创建的数据表是否是 DEFAULT CHARSET=UTF8

第三步:

打开my.ini 

在[client]节点下添加 

       default-character-set=utf8

    在[mysqld]节点下添加

       character-set-server=utf8

      collation-server=utf8_general_ci 保存,重启mysql!

再 mysql> show variables like 'char%';查看是否是下面一样:

| 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 | /opt/mysql-cluster/share/mysql/charsets/

按以上步骤执行后,重新创建数据库imooc和表tdb_goods,就可以插入中文了!O(∩_∩)O~~


1 回复 有任何疑惑可以回复我~
#1

qq_微笑王子_0

万分感谢
2017-03-23 回复 有任何疑惑可以回复我~

你的逗号是中文的吧QAQ

0 回复 有任何疑惑可以回复我~

不知道你解决了没,你就按老师说的先 set names =gbk;  就可以插入了

0 回复 有任何疑惑可以回复我~
#1

遥远4363154 提问者

这个没有用,谢谢!
2016-12-12 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5848935800011e4204080182.jpg表也是uft8,也没有问题

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

SET NAMES gbk,CREATE utf8都用了,为什么还是无法插入记录-_-,谢谢指导

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信