今天操作mysql的时候很郁闷,因为修改默认字符集搞了半天,终于弄成了(关于如何把windows的默认字符集设置成功,可以参看另一篇博文,最终在mysql中输入show variables like 'character%'显示的值都是utf8),而后面又出现了录入中文错误,错误信息如下:

1.  Data truncation: Data too long for column 'name' at row 1

网上搜了半天,参照http://blog.csdn.net/zoucui/article/details/6126404中的第一个方法解决的,操作方法如下:

修改my.ini文件,我电脑上的路径是:C:\Program Files (x86)\MySQL\MySQL Server 5.0\my.ini,找到如下一行:

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

去掉STRICT_TRANS_TABLES,项,保存,重启mysql服务器即可。

2.中文乱码问题的解决方法

上面能够把中文录入进数据库的表了,但是又出现了录入之后使用selcet查询的时候乱码问题,怎么解决都不行,最终参照如下链接

http://blog.csdn.net/xiangsuixinsheng/article/details/6235254http://hi.baidu.com/lwbqqyumidi/item/2fd36a4b3a08ff02c0161354

 的介绍的方法,进行操作,对应的乱码问题就解决了。

 下面把第二个链接对应的文章内容粘贴如下:

mysql中经常会遇到中文乱码问题,对于一般的中文乱码问题解决办法:使数据库编码,页面显示编码和程序与数据库交互数据保持一致即可。现在一般用的较多的是utf-8(数据中是utf8,注意写法上区别)。

但是,当编码都同时设置为utf-8(数据库中式utf8)后,在用命令创建数据表内容时,如果其中有字段是中文,则还是会出现中文乱码问题,并且是插入进表中的相应中文字段乱码。解决办法如下:

对于mysql自带的命令行客户端,首先在命令行 mysql>后输入set names gbk; ,回车,然后再输入mysql创建数据库、表及字段内容命令即可。此时,相应中文字段中中文显示正常:

原因:因为在,mysql中设置为utf8编码后,mysql默认为你所键入的命令中也为utf8编码。从而导致中文乱码。首先在命令行 mysql>后输入 set names gbk; ,相当于告诉mysql后台客户端键入命令以gbk编码输入,mysql客户端端会自动将其正确录入转换为utf8存储。当然,如果本来编码就皆为gbk则不存在此问题。

改过之后要重启服务。

对于Navicat 图形化造作界面中命令列介面,我们会发现如果直接输入mysql创建数据库、表及字段内容命令SQL语句时,其中的中文仍然会出现乱码,并且即使在命令行最初mysql>后输入 set names gbk; ,回车,然后再输入SQL语句,中文乱码问题依然无法解决。现给出解决办法如下:

在Navicat新建连接时,点击高级,将其中使用mysql字符集前面的勾去掉,同时在上面的编码处选择gbk,点击确定后,在其命令列介面再次直接输入mysql创建数据库、表及字段内容命令SQL语句时,其中的中文部分显示正常。

至此,MySQL中文乱码问题很好解决。

但是,如果页面设置的是utf-8编码,在mysql后台已经设置编码为utf8的情况下,从页面录入的中文存储在mysql数据库中依然出现乱码,则问题是因为mysql前台【client】编码问题,将其编码也设置为utf8,然后重启服务即可。即此种情况下,使各处字符编码均为utf8,保持一致即可。

针对上面的说法,我的做法就是进入mysql的时候就首先敲入如下设置:set names gbk;后面的操作就是通用的操作,该录入中文就录入中文,显示也就没有问题了,没有乱码了,感觉还是挺简单的。

windows mysql 中文乱码和中文录入提示太大错误的解决方法的更多相关文章

  1. Linux yum提示Loaded plugins错误的解决方法

    yum是Linux软件包管理器,也叫yum源,在yum使用过程中,有时会出现Loaded plugins错误,重启无效,遇到这种情况该如何解决呢?下面就给大家介绍下Linux yum提示Loaded ...

  2. 微信jsSDK公众号开发时网页提示 invalid signature错误的解决方法

    微信公众号开发jsSDK,链接地址不能加?参数,可以通过#传递参数. 不然.页面wx.ready()时就会报错,用 wx.error(function (res) { alert("接口验证 ...

  3. JDBC链接数据库MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法

    现象 Mybatis和Spring框架整合过程中报 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Publ ...

  4. Mysql数据中Packet for query is too large错误的解决方法

    有时,程序在连接mysql执行操作数据库时,会出现如下类似错误信息: Packet for query is too large (4230 > 1024). You can change th ...

  5. elasticsearch启动时提示内存不足错误的解决方法

    Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0 ...

  6. Linux下切换root用户提示Authentication failure错误的解决方法(亲测有效)

    第一种情况可能是root密码输入错误造成的,再仔细检查一遍是否输入错误 第二种是刚安装完,没有设置root用户密码导致的,我的就是最小化安装,就会出现这种小问题 解决办法:sudo passwd 然后 ...

  7. Windows无法安装到这个磁盘 选中的磁盘具有MBR分区表解决方法

    在安装 win10的时候,会出现这种提示:Windows 无法安装到这个磁盘.选中的磁 盘具有 MBR 分区表.在 EFI 系统上, Windows 只能安装到 GPT 磁盘.出现这种 情况主要是因为 ...

  8. DedeTag Engine Create File False提示的种种原因及解决方法

    DedeTag Engine Create File False提示的种种原因及解决方法 第一种情况:站点.文件夹权限不足造成无法建立文件 这种情况的出现,一方面可能是Apache设置的读写权限较严格 ...

  9. Mysql文件太大导入失败解决办法总结

    Mysql文件太大导入失败解决办法总结 在使用phpmyadmin导入数据库的时候可能会碰到由于数据库文件太大而无法导入的问题! 英文提示如下:File exceeds the maximum all ...

随机推荐

  1. check、continue、exit的区别

    DATA:BEGIN OF lt_table OCCURS 0,      i_row   TYPE i,      i_col   TYPE i,     END OF lt_table. lt_t ...

  2. Code First:如何实现一个主类中包含多个复类

    假设我们在程序中要用到的类的结构是这样的,这里比较特别的是B在A中出现了最少两次 public class B { [Key] public int Id { get; set; } public s ...

  3. 运行 Docker 容器时的安全风险:别丢了你的套接字

    我们都遇到过这种情况:你只是想尝试一段命令行,但安装进程却如同抵押贷款申请那般繁琐.如果不是强制要求完成这么多步骤,你的开发环境会被永远不会再使用的库弄乱.自然, Docker 来了以后,你惊异地发现 ...

  4. 【网络流24题】No.1 搭配飞行员(飞行员配对方案问题)

    [问题描述]     飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞 ...

  5. 【UVA 1411】 Ants (KM)

    Young naturalist Bill studies ants in school. His ants feed onplant-louses that live on apple trees. ...

  6. 详解如何用AD 生成Gerber文件

    以上gerber文件就出完了;  下面步骤是:进行导出" 钻孔文件 ". 以上钻孔文件就出完了;  到此就全部完成输出了. 下面的操作,也可以不用导的 .下面步骤是:进行导出&qu ...

  7. 被忽视的eMMC——A1 SD Bench闪存测试

    一直以来,大家对手机的配置方面都比较关注CPU和GPU的架构.频率.核心数等,却经常忽略了手机闪存的速度.实际上手机的闪存素质对手机日常操作的响应.载入速度同样起到举足轻重的影响,今天给大家介绍的则是 ...

  8. Android 使用LinearLayout.getChildAt(i)获取一个线性布局的view,并实现content中实现方法

    1.定义接口content的方法,如ok,cancle; 2.在View的处理类myview中实现content的方法. 3.通过contently.getChildAt(i)的方法获得View v; ...

  9. ICMP 实现

    以下代码取自 kernel- . [数据结构] struct icmp_control { void (*handler)(struct sk_buff *skb); //icmp处理函数,根据icm ...

  10. oracle构建一致性读

    对于实际的业务系统,通常有一些热点的表,insert和delete的量非常大,这个时候就会发现一些查询语句的逻辑读比较偏高,这时可能就是oracle在构建一致性块的进行的consistent read ...