`
xiaguangme
  • 浏览: 74215 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

【转】mysql 5.0 在插入记录的时候遇到 Incorrect string value这个错误

阅读更多

 

问题:一个基础的问题,MySQL乱码相关,同时影响页面端

注意:1.不要依赖mysql的一个图形配置向导,据我经验即使在图形界面的设置向导中

设置了字符编码为GBK后,但实质配置仍为拉丁...也就是mysql安装目录下

的my.ini文件未有变化

 2.手动改mysql安装目录下的my.ini配置文件,将其中的两处characterset设置

    为GBK,不要用GB18030,mysql只认GBK

 3.设完后得重启mysql服务,并且重新创建数据库

 

转自http://618119.com/archives/2008/06/27/97.html

mysql 5.0 在插入记录的时候遇到 Incorrect string value这个错误

作者:lizongbo 发表于:8:24 下午. 星期五, 6月 27th, 2008 
版权声明:可以任意转载,转载时请务必以超链接形式标明文章和作者信息及本版权声明

修改 C:\Program Files\mysql\mysql Server 5.0\my.ini

mysql 和 mysqld的 default-character-set为gbk,

my.ini节选如下:
[mysql]

default-character-set=gbk

[mysqld]
port=3306

basedir=”C:/Program Files/mysql/mysql Server 5.0/”

#Path to the database root
datadir=”C:/Program Files/mysql/mysql Server 5.0/Data/”
default-character-set=gbk
default-storage-engine=MyISAM

然后重启数据库,重新创建数据库即可。

创建的数据库步骤如下:

在heidisql里,先运行  set names ‘gbk’,

然后运行建表sql。

然后就可以看到表的字段和内容,均为中文显示了。

其它关于mysql 的笔记:

1.在命令行下, 用 mysql -uroot连接到mysql服务器
2.SHOW DATABASES; 查看当前服务器已经有的数据库名字。
3.use test 表示连接到名叫”test”的数据库
4.show table;
查看该数据库中的表名。
5.查询记录
select * from topic limit 10,3;
表示从topic中的第11条记录开始,取出三条,
6 show status;
查看数据库配置的一些信息。
7.查看数据库版本
SELECT VERSION();

8.创建数据库
CREATE DATABASE `testtable`; /*!40100 CHARACTER SET utf8 COLLATE utf8_general_ci */

9.创建表

CREATE TABLE `testtable`.`testtablemsg` (`testtabletype` VARCHAR (50)
DEFAULT ‘fc_ssq’ NOT NULL, `testtableday` VARCHAR (50) DEFAULT ‘08024′ NOT NULL,
`testtablename` VARCHAR (50) DEFAULT ‘福’ NOT NULL, PRIMARY KEY(`testtabletype`,`testtableday`))
COMMENT = “开奖公告” TYPE = InnoDB /*!40100 DEFAULT CHARSET utf8 COLLATE utf8_general_ci */;

10.查看表字段
SHOW /*!32332 FULL */ COLUMNS FROM `testtablemsg`;
11.查看主键信息
SHOW KEYS FROM `testtablemsg`;

12.导入sql到指定的数据库:

mysql -uroot -p testtable < /data/lizongbo_tmp/import/testtable.sql

13.查看所有连接

SHOW FULL PROCESSLIST;

14.导入sql文件的时候遇到错误信息

ERROR 1153 at line 6388: Got a packet bigger than ‘max_allowed_packet’

然后查看对应参数:

mysql> show VARIABLES like ‘%max%’;
+———————————+———————-+
| Variable_name                   | Value                |
+———————————+———————-+
| ft_max_word_len                 | 254                  |
| ft_max_word_len_for_sort        | 20                   |
| innodb_max_dirty_pages_pct      | 90                   |
| innodb_max_purge_lag            | 0                    |
| max_allowed_packet              | 1047552              |
+———————————+———————-+

于是修改
mysql> set max_allowed_packet=4047552;
Query OK, 0 rows affected (0.00 sec)

Tags: mysql

Related posts

Tags: mysql

分享到:
评论

相关推荐

    MySQL text插入长文本时报错Incorrect string value xE5x8FxAC.pdf

    在MySQL数据库中,当尝试向一个字段插入超出其限制长度的字符串时,可能会遇到错误提示。在本例中,报错信息为“Incorrect string value :'\xE5\x8F\xAC' for column 'XXX' at row 1”,这通常意味着尝试插入的文本...

    MySQL text插入长文本时报错Incorrect string value xE5x8FxAC.docx

    在MySQL数据库中,当尝试向一个`text`类型的字段插入数据时,如果遇到"Incorrect string value: '\xE5\x8F\xAC'"这样的错误,这通常意味着你正在尝试存储的字符串包含不受支持或者编码不正确的字符。这个错误信息...

    mysql出现Incorrect string value 问题所需要用到的 my.ini

    这个是我遇到问题后修改了的.ini文件。因为自己在改的时候也是错了好多次,试过去试过来都不行。所以我把我改过的.ini文件上传,希望能帮到跟我一样的小白,在搞不动的时候还有一条出路。 当然如果懒得自己改也可以...

    解决mysql不能插入中文Incorrect string value

    在日常使用MySQL数据库的过程中,有时我们会遇到一个常见的问题——无法向数据库中插入中文字符,并且会收到错误提示“Incorrect string value”。这种情况通常出现在数据库或表的字符集设置不当或者数据导入方式不...

    MySQL生僻字插入失败的处理方法(Incorrect string value)

    最近,业务方反馈有个别用户信息插入失败,报错提示类似”Incorrect string value:”\xF0\xA5 ….. ” 看这个提示应该是字符集不支持某个生僻字造成的。 下面是在虚拟机里复现的场景: step1、模拟原始表结构字符集...

    MySQL插入数据中错误提醒 1366 Incorrect string value…的解决方法

    在MySQL数据库操作中,有时会遇到“1366 Incorrect string value…”的错误提示,这通常是由于字符编码不匹配导致的。错误发生时,表明正在尝试插入的数据包含无法被当前数据库或表的字符集识别的字符。在Windows...

    Mysql错误1366 – Incorrect integer value解决方法

    由于这个数据库服务器存放的数据库比较多且都是小数据库,所以最初的时候是运行在windows服务器上的。前一段时间由于机房服务器要做调整,于是我便在一个夜深人静的夜晚对数据库进行的迁移及前台应用程序进行了调整...

    MySql 错误Incorrect string value for column

    在MySQL操作过程中,可能会遇到“Incorrect string value”这样的错误提示,尤其是在处理包含中文字符的数据时更为常见。根据提供的文件信息来看,尽管数据库和数据表的字符集均被设置为UTF8,但在使用JavaBean进行...

    Mysql数据库乱码问题:Incorrect string value

    MySQL数据库在处理字符串数据时,可能会遇到“Incorrect string value”这样的乱码问题,这通常是由于字符集不匹配或不兼容导致的。字符集是决定如何存储、解析和显示字符的规则集,对于支持多语言环境的系统,尤其...

    Incorrect string value: ‘\xF0\x9F\x8C\xB7’ for column ‘nickname’修改mysql某列的编码格式

    在保存微信客户昵称的时候数据库遇到如下错误,原因在于UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。 Cause: java.sql....

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

    然而,在实际操作中可能会遇到中文字符无法正常插入数据库的问题,通常表现为错误提示“Incorrect string value”等。本文将详细探讨这一问题的原因,并提供一系列解决方案。 #### 错误现象描述 当尝试向MySQL...

    MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解决方法

    主要给大家介绍了关于MySQL存储表情时报错:java.sql.SQLException: Incorrect string value: 'xF0x9Fx92xA9x0Dx0A...'的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

    Mysql错误1366 - Incorrect integer value解决方法

    MySQL错误1366 - Incorrect integer value 是一个常见的数据库错误,通常发生在尝试插入或更新数据时,如果提供的值与目标字段的数据类型不匹配,特别是当试图将非整数值(如空字符串'')插入到整数字段时,就会出现...

    mysql中插入emoji表情失败的原因与解决

    用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\x9B' 失败原因 mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4...

    mysql:1366: Incorrect string value: ‘\xE9\x9…..问题解决

    在插入中文数据时出现 这是编码问题,只要将表的类型修改为utf-8就ok了。 alter table 数据库名.表名 convert to character set utf8; 执行完这条语句之后就可以插入中文数据啦。 如果多张表存在这个问题可以直接...

    MySQL抛出Incorrect string value异常分析

    从新浪微博抓到的数据在入库的时候抛出异常: Incorrect string value: ‘\xF0\x90\x8D\x83\xF0\x90…’ 发现导致异常的字符不是繁体而是某种佛经文字。。。额滴神。。。但是按道理UTF-8应该能支持才对啊,他不是...

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

    在MySQL中,如果一个整数类型的列(如`id`)被声明为主键,并且设置了自增(auto_increment),那么在插入新记录时,你应该允许MySQL自动为这个字段生成值,而不是手动指定。尝试插入空字符串('')会导致这个错误,...

Global site tag (gtag.js) - Google Analytics