windows mysql 中文乱码和中文录入提示太大错误的解决方法
今天操作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/6235254和http://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 中文乱码和中文录入提示太大错误的解决方法的更多相关文章
- Linux yum提示Loaded plugins错误的解决方法
yum是Linux软件包管理器,也叫yum源,在yum使用过程中,有时会出现Loaded plugins错误,重启无效,遇到这种情况该如何解决呢?下面就给大家介绍下Linux yum提示Loaded ...
- 微信jsSDK公众号开发时网页提示 invalid signature错误的解决方法
微信公众号开发jsSDK,链接地址不能加?参数,可以通过#传递参数. 不然.页面wx.ready()时就会报错,用 wx.error(function (res) { alert("接口验证 ...
- JDBC链接数据库MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法
现象 Mybatis和Spring框架整合过程中报 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Publ ...
- Mysql数据中Packet for query is too large错误的解决方法
有时,程序在连接mysql执行操作数据库时,会出现如下类似错误信息: Packet for query is too large (4230 > 1024). You can change th ...
- elasticsearch启动时提示内存不足错误的解决方法
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0 ...
- Linux下切换root用户提示Authentication failure错误的解决方法(亲测有效)
第一种情况可能是root密码输入错误造成的,再仔细检查一遍是否输入错误 第二种是刚安装完,没有设置root用户密码导致的,我的就是最小化安装,就会出现这种小问题 解决办法:sudo passwd 然后 ...
- Windows无法安装到这个磁盘 选中的磁盘具有MBR分区表解决方法
在安装 win10的时候,会出现这种提示:Windows 无法安装到这个磁盘.选中的磁 盘具有 MBR 分区表.在 EFI 系统上, Windows 只能安装到 GPT 磁盘.出现这种 情况主要是因为 ...
- DedeTag Engine Create File False提示的种种原因及解决方法
DedeTag Engine Create File False提示的种种原因及解决方法 第一种情况:站点.文件夹权限不足造成无法建立文件 这种情况的出现,一方面可能是Apache设置的读写权限较严格 ...
- Mysql文件太大导入失败解决办法总结
Mysql文件太大导入失败解决办法总结 在使用phpmyadmin导入数据库的时候可能会碰到由于数据库文件太大而无法导入的问题! 英文提示如下:File exceeds the maximum all ...
随机推荐
- 搭建mongodb分片
搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...
- JENKINS里,如何为SLAVE配置多个不同的JAVA环境?
今天遇到这个问题了, 原来在MASTER配置里可以统一管理的,不管这个路径有没有在MASTER上. 这样一来,JENKINS在编译时,会优先选用环境变量里的JAVA版本,然后才是MAVEN里的JAVA ...
- 从C#到Python —— 4 类及面向对象
http://www.cnblogs.com/yanxy/archive/2010/04/04/c2p_4.html 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented) ...
- linux系统配置文件和用户配置文件及其作用
我的博客:www.while0.com /etc/issue 未登陆时控制台显示的文字 /etc/issue.net 远程登陆时控制台显示的文字 /etc/motd 用户登陆时显示的文字 这里先提供两 ...
- Wide character in print at a2.pl line 6.
jrhapt01:/home/tomcat/test> cat a2.pl my $str="$ARGV[0]"; use Encode; use URI::Escape; ...
- java学习之创建线程方法二
我们上一节当中讲到了创建线程的第一种方法,就是继承Thread类,覆写Thread当中的run方法,然后创建子类对象,之后调用对象的start方法启动线程.但是这种方法有一个缺陷,因为我们知道在jav ...
- Devexpress 之gridControl双击行事件
MouseDown事件 protected internal void gridControl1_MouseDown(object sender, MouseEventArgs e) { DevExp ...
- Selenium - WebDriver 小结(1)
public class Base { SimpleDateFormat formatterTime = new SimpleDateFormat("yyyyMMdd_hhmmssa&quo ...
- Oracle体系结构图
1 oracle数据库主要有数据文件database和数据库实例instance组成.用户通过用户进程链接到server process.在数据库启动的时候,需要依赖于参数文件parameter fi ...
- DATEDIFF()(转)
SQL DATEDIFF 函数 Leave a reply SQL DATEDIFF() 函数用来返回2个时间的差.这个函数在SQL Server和MySQL中都有,但语法上有不同. SQL CASE ...