`
txf2004
  • 浏览: 7034134 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1

阅读更多

使用命令行方式登陆到MySQL服务器,建立一个数据库,数据库编码设为UTF-8。此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column 'name' at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下解决方法:
1、在Linux中,使用终端方式登陆MySQL服务器,运行以下命令:

setnamesutf8;

该命令将终端的字符编码设为了UTF-8。此后再插入数据库中的内容都会按照UTF-8的编码来处理。
注意:在Linux中,终端方式中直接插入中文内容,可能并不会出现1406错误,但是这时插入的数据是按照系统的默认编码进行处理。因此对编码为UTF-8的数据库,在显示数据的地方可能会出现乱码。

2、在Windows下,命令行窗口不支持UTF-8编码,所以使用“set names utf8;”不会达到转化中文的效果。但是这个问题还是可以解决的:
(1)使用默认编码建立数据库。这种情况下就可以直接输入中文了,但是相应的问题,就是会失去UTF-8编码的灵活性。特别是不利于软件的国际化。
(2)放弃命令行窗口登录MySQL,使用图形化客户端。客户端工具可以MySQL的官方网站上找到。

分享到:
评论

相关推荐

    ERROR 1406 : Data too long for column 解决办法

    解决办法: 在my.ini里找到 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION” 把其中的STRICT_TRANS_TABLES,去掉, 或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_...然后重启mysql就ok了

    解决出现Incorrect integer value: ” for column ‘id’ at row 1的问题

    解决出现Incorrect integer value: ” for column ‘id’ at row 1的问题 前言: 今天在学习Python的过程中操作数据库,遇到了一个问题,执行sql语句插入数据的时候报错Incorrect integer value: ” for column ‘id...

    解决出现Incorrect integer value: '' for column 'id' at row 1的问题

    在使用数据库进行数据操作时,有时会遇到错误提示"Incorrect integer value: '' for column 'id' at row 1"。这个错误通常出现在尝试插入数据到一个整数类型的列时,而该列期望的是一个整数值,但提供的值是空字符串...

    MySql写入中文错误解决

    在 MySQL 中,当我们尝试导入中文字符时,总是报错“Data too long for column XX at row n”。这个问题的主要原因是 MySQL 的默认编码为 gb2312,而我们通常使用的 UTF-8 编码,这两个编码之间的差异导致了这个问题...

    Mysql 报Row size too large 65535 的原因及解决方法

    报错信息:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535 向mysql的表插件一个字段 类型为text时,或修改一个字段类型为text时,报出上面的错误。其实我对这个...

    sql导入数据库时出现ERROR at line 206: Unknown command '\''的解决方法

    sql导入数据库时出现ERROR at line 206: Unknown command '\'的解决方法 在 mysql 中,使用 mysqldump 工具导出数据库是一种常见的操作。然而,在使用 mysql 命令将导出的数据库文件导入目标数据库时,可能会出现 ...

    连腾讯云上的docker上的mysql报错ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password:

    1.打开在创建mysql容器时挂载的conf目录下的mysqld.cnf(如下文件) 我创建docker的姿势 2.进入mysqlId.cnf文件中在[mysqld]下添加skip-grant-tables vim conf/mysqId.cnf 3.进入mysql容器 docker exec -it mysql....

    MySQL导入sql脚本错误:2006 解决方法

    MySQL导入sql脚本错误:2006 – MySQL server has gone away 到如一些小脚本很少报错,但最近导入一个10+M的SQL脚本,却重复报错: Error occured at:2014-03-24 11:42:24 Line no.:85 Error Code: 2006 - MySQL ...

    大牛总结 MySql常见错误集锦

    10. 错误1406: Data too long for column 'column_name' at row 1 插入的数据长度超过了列的最大允许长度。调整数据的大小,或者增大列的长度限制。 这些错误只是MySQL使用过程中可能遇到的一部分,理解和解决这些...

    mysql connector for windows

    mysql connnector for windwos c++/c

    mysql 命令行错误 ERROR 1045 (28000):

    环境变量配置错误 mysql 命令行错误 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N

    Poco访问数据库(测试例子MySQl)

    在本文中,我们将深入探讨如何使用Poco库访问MySQL数据库,这是一个C++开发中的常见任务。Poco是一个轻量级、跨平台的开源C++库,提供了多种功能,包括网络、数据存取、XML解析、JSON处理等。在这个测试例子中,我们...

    mysql5.0乱码的解决实例

    - 如果“data too long for column”错误与中文字符有关,可能是因为字段类型设置过小,无法容纳UTF-8编码的中文字符。例如,VARCHAR(2)只能存放一个英文字符,但可能放不下一个中文字符。可以调整字段长度或使用更...

    mysql输入中文出现ERROR 1366的解决方法

    ERROR 1366: 1366: Incorrect string value: ‘\xE6\xB0\xB4\xE7\x94\xB5…’ for column ‘introduce’ at row 1 这是因为mysql编码的问题 打开mysql mysql -u root -p 输入密码后,输入下面这一行代码来显示...

    MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题解决

    刚开始学习数据库操作,今天存数据时发现,保存的时候报错(Error 1292: Incorrect datetime value: '0000-00-00' for column 'deleted_at' at row 1) ,之后就搜索了下原因,是因为MySQL存日期时不允许出现这种格式...

    mysql插入数据中文报错问题,最全解决方式

    ERROR SqlExceptionHelper:147 Incorrect string value: '\xE6\xB2\xA1\xE5\x90\x83' for column 'others' at row 1 org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested ...

    MySQL 8 for Big Data epub

    MySQL 8 for Big Data 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

    MySql.Data.dll 6.4.4 For .NET 2.0

    MySQL 数据库是一个流行的开源关系型...总之,`MySql.Data.dll 6.4.4 For .NET 2.0` 是 .NET 开发者与 MySQL 数据库通信的重要工具,它提供了丰富的接口和功能,使得在 .NET 环境下操作 MySQL 数据库变得简单而高效。

Global site tag (gtag.js) - Google Analytics