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

Posted

技术标签:

【中文标题】如何在 MySQL 中插入西班牙语字符?【英文标题】:How to insert Spanish characters in MySQL? 【发布时间】: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;

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

丹尼尔·维拉斯克斯

哈维尔·纳涅斯

维克多·桑切斯

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

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时指定字符集 【参考方案1】:

请看这里

它会帮助你

Handling Unicode Front To Back In A Web App

这是关于编码character encoding

【讨论】:

【参考方案2】:

启动mysql时,指定Unicode:

mysql --default-character-set=utf8

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于如何在 MySQL 中插入西班牙语字符?的主要内容,如果未能解决你的问题,请参考以下文章

PHP + MySQL + 西班牙语

jQuery UI 自动完成 - 西班牙语字符在本地正确显示,但在服务器上不正确

没有得到西班牙语字符 (ú, í ) 但在 UI 上得到像 (ó , Ã)

在 mysql 或 php 中使用 utf 字符排序?最佳解决方案

sh 删除西班牙语字符

在 sql server 2012 中为西班牙语选择了啥排序规则?