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 ...
随机推荐
- 如何通过REST获取JENKINS的编译进度?
第二版功能需要实现, 我看了一下,获取百分比进度不太可能了,,因为JENKINS本身都没有具体的百分比进度.. 那,,只好实现获取实时值,如果完成就显示完成. URL: http://1.2.3.4/ ...
- 【BZOJ 3122】 [Sdoi2013]随机数生成器 (BSGS)
3122: [Sdoi2013]随机数生成器 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1442 Solved: 552 Description ...
- 怎么清除SVN密码,以及重置eclipse中svn插件密码
如何清除SVN密码,以及重置eclipse中svn插件密码? 清除SVN客户端密码方法: 邮件选择TortoiseSVN中的settings选项---Saved Data---右边会发现有个Authe ...
- Android CoordinatorLayout + AppBarLayout(向上滚动隐藏指定的View)
在新的Android Support Library里面,新增了CoordinatorLayout, AppBarLayout等. 实现的效果: 向下滚动RecylerView,Tab会被隐藏,向上滚 ...
- 结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL
查看当前session线程号 mysql> select connection_id(); +-----------------+ | connection_id() | +---------- ...
- 【HDOJ】4553 约会安排
线段树.线段树的细节很重要,小数据遍历可以发现问题. /* 4553 */ #include <iostream> #include <string> #include < ...
- LintCode 38. Search a 2D Matrix II
Write an efficient algorithm that searches for a value in an m x n matrix, return the occurrence of ...
- suse系统卸载数据库实例
1.停止数据库: 2.执行以下命令: find $ORACLE_BASE/* -name '*[Tt][Ee][Ss][Tt]*' 其中TEST为数据库的实例名: 删除存在的文件: 3.删除/etc ...
- Js 时间轴和拓扑图
http://code.csdn.net/news/2819345 http://visjs.org/
- Keepass 2.x 之 同步与触发器
同步 之前用的 Keepass 1.x, 要实现工作电脑和个人电脑上的数据库文件同步,使用的是第三方的网盘同步.但有个问题就是,个人不习惯设置同步网盘开机启动,所以有时候工作电脑上的改动还没有同步上传 ...