无法通过utf8编码在mysql数据库中插入中文(警告1336字符串值不正确)

时间:2015-07-27 09:03:04

标签: mysql encoding utf-8 character-encoding

我不能在表格中插入中文。我已将charset和collat​​ion配置为 utf8 utf8_general_ci 。数据库和表创建为utf8。

此外,我已尝试将字符串作为 utf8mb4 并将其整理为 utf8_unicode_ci utf8mb4_general_ci,utf8mb4_unicode_ci 。所有这些都指向相同的错误:警告1366字符串值不正确

Big5和GBK编码在这种情况下工作,但我想使用utf8,因为简化,繁体中文将允许插入。

mysql中的一些代码:

    create database db1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    create table table1 (
    lastName varchar(255),
    firstName varchar(255)
    ) ENGINE = MYISAM CHARSET=utf8 COLLATE utf8_general_ci;

    INSERT INTO table1 VALUES ('陳','小文');

  Warning | 1366 | Incorrect string value: '\xB3\xAF' for column 'lastName' at r
w 1       |
 Warning | 1366 | Incorrect string value: '\xA4p\xA4\xE5' for column 'firstName
 at row 1 |
my.ini中的

配置

[client]
default-character-set=utf8
[mysqld]
default-storage-engine=MyISAM
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
skip-character-set-client-handshake=1
[mysql]
default-character-set=utf8

使用Mysql 5.6.8版本。

1 个答案:

答案 0 :(得分:0)

字符集utf8mb4 COLLATE utf8mb4_general_ci 在三个位置设置此排序规则:

1-在操作或设置选项卡下的数据库排序规则中,您可以找到排序规则收件箱,从那里选择“ utf8mb4_general_ci ”。

2-在操作选项卡下的表格中,您需要更改相同“ utf8mb4_general_ci ”的下拉列表中的排序规则值。

3-现在不要忘记更改保存数据的列的排序规则单击表格的结构选项卡编辑需要保存中文数据的列,并为每个列更改排序规则:“ utf8mb4_general_ci ”。

尝试直接从phpmyadmin放置中文字符,如果您可以成功插入中文字符,这意味着您已完成数据库,然后尝试使用服务器或从您的网站。如果wesbite不起作用,那么可能需要在网站脚本上添加utf 8元标记。