5

我正在尝试使用西班牙语字符进行简单的插入,但没有成功。这是我的简单 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);

提前致谢。

4

3 回答 3

2

请看看这个

它会帮助你

在 Web 应用程序中从前到后处理 Unicode

这是关于编码字符编码

于 2012-07-08T18:39:39.197 回答
1

启动 mysql 时,指定 Unicode:

mysql --default-character-set=utf8
于 2012-07-08T18:43:11.613 回答
0

就我而言,我刚刚使用 Sublime Editor 保存了文件,在保存文件的菜单中,我选择了使用编码保存并选择了 UTF8,它解决了我的问题。我使用了与您相同的编码和排序规则。这是文件的编码问题。

于 2020-08-18T01:47:29.737 回答