今天操作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. Mybatis 学习

    1.  Mybatis 中 # 与 $ 符号的区别: a.    #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号. 如:order by #user_id#,如果传入的值是12,那么解 ...

  2. JavaScript学习代码整理(一)

    /** * Created by wyl on 15-1-23. */ function displayDate() { document.getElementById("demo" ...

  3. bzoj 2251: [2010Beijing Wc]外星联络 后缀数组

    2251: [2010Beijing Wc]外星联络 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 424  Solved: 232[Submit][ ...

  4. BZOJ 1711: [Usaco2007 Open]Dingin吃饭

    Description 农夫JOHN为牛们做了很好的食品,但是牛吃饭很挑食. 每一头牛只喜欢吃一些食品和饮料而别的一概不吃.虽然他不一定能把所有牛喂饱,他还是想让尽可能多的牛吃到他们喜欢的食品和饮料. ...

  5. GIT在LINUX下的基本操作

    没办法,看来,VIM技能也要同步练起来了. 离开了WIN的日常应用安乐窝,外面的世界有多精彩? GIT的错了我再改..呵呵 git clone http://username@1.2.3.4/repo ...

  6. Android 系统功能设置菜单 LinearLayout与relativeLayout的实现

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  7. Linux平台下Java调用C函数

    JNI是Java native interface的简写,可以译作Java原生接口.Java可以通过JNI调用C/C++的库,这对于那些对性能要求比较高的Java程序无疑是一个 福音. 使用JNI也是 ...

  8. nginx+gunicorn

    wsgi接口,使用gunicorn作为server,想在外层加nginx. 配置了 proxy_pass   http://127.0.0.1:9008; 访问报301. 参考gunicorn 官网配 ...

  9. 【HDOJ】1753 大明A+B

    注意数据格式,可以是整数,并且注意输出最简化浮点数. #include <stdio.h> #include <string.h> #define MAXNUM 420 cha ...

  10. MySQL源码之mysqld启动

    启动mysqld,并进入listen阶段   函数调用栈: mysqld_main():        my_init();初始化变量,锁,错误串      my_thread_global_init ...