如何在MySQL中插入西班牙语字符?

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;

namelastname字段将来自西班牙人,他们的名字和姓氏如下:

  • Daniel Velásquez

  • Javier Ñañez

  • Víctor Sánchez

但是当我执行以下操作时:

mysql> INSERT INTO student (name, lastname) VALUES ('Víctor', 'Sanchez');

I get this error:

ERROR 1366 (HY000): Incorrect string value: '\xA1ctor' for column 'name' at row
1

嗯,当我在网上搜索时,关于排序规则、编码以及其他相关内容,我真的感到很困惑。

那么,正确处理这个问题的方法是什么呢?只要知道我正在使用PHP,并且知道检索一些特殊字符的方法是使用htmlentities($value);

提前致谢。


你尝试过将字段排序规则改为latin1_swedish_ci吗? - Battle_707
1
@Battle_707 你给了我一个小提示,我解决了这个问题,只需在启动mysql时指定字符集为“charset latin1”。 - Oscar Jara
3个回答

2

1

当您启动mysql时,请指定Unicode:

mysql --default-character-set=utf8

0
在我的情况下,我只是使用Sublime编辑器保存了文件,并在保存文件的菜单中选择了编码方式并选择了UTF8,这解决了我的问题。我使用了与您相同的编码和排序规则。这是一个文件编码问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接