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

时间:2012-07-08 18:32:48

标签: mysql unicode encoding utf-8 collation

我正在尝试使用西班牙语字符进行简单插入但没有成功。这是我简单的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字段来自西班牙人,他们的名字和姓氏是这样的:

  • DanielVelásquez

  • JavierÑañez

  • VíctorSánchez

但是当我做以下事情时:

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);

提前致谢。

3 个答案:

答案 0 :(得分:2)

请看一下这个

它会帮助你

Handling Unicode Front To Back In A Web App

这是关于编码character encoding

答案 1 :(得分:0)

启动mysql时,请指定Unicode:

mysql --default-character-set=utf8

答案 2 :(得分:0)

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