【发布时间】:2012-07-08 07:02:43
【问题描述】:
我正在尝试使用西班牙语字符进行简单的插入,但没有成功。这是我的简单 MySQL 表结构:
CREATE TABLE student (
id INTEGER NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
lastname VARCHAR(100) NOT NULL,
CONSTRAINT PK_STUDENT PRIMARY KEY (id)
) CHARACTER SET utf8 COLLATE utf8_general_ci;
name 和 lastname 字段将来自西班牙人,他们的名字和姓氏如下:
丹尼尔·维拉斯克斯
哈维尔·纳涅斯
维克多·桑切斯
但是当我执行以下操作时:
mysql> INSERT INTO student (name, lastname) VALUES ('Víctor', 'Sanchez');
我收到此错误:
ERROR 1366 (HY000): Incorrect string value: '\xA1ctor' for column 'name' at row
1
嗯,在互联网上进行搜索时,我对排序规则、编码和所有相关内容感到非常困惑。
那么,处理这个问题的正确方法是什么?只是想知道我正在使用 PHP,并且我知道检索一些特殊字符的方法是使用 htmlentities($value);
提前致谢。
【问题讨论】:
-
您是否尝试将字段排序规则更改为 latin1_swedish_ci?
-
@Battle_707 你给了我一点提示,我解决了这个问题,只是在使用“charset latin1”启动mysql时指定字符集
标签: mysql unicode encoding utf-8 collation