1

在为我的网站创建数据库时,我使用了以下语法。

CREATE DATABASE myDatabase DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

现在,当我的客户输入阿拉伯语字符时,他看到了一些奇怪的输出。我正在为网页使用 JSF 2.0。

我需要进行哪些更改才能在我的网站中输入阿拉伯语或任何字符并将其存储在数据库中。

编辑 1

当我打印数据时,我看到输出为شسÙ?بشسÙ? بشسÙ?ب شسÙ?ب

笔记:

我正在使用使用 JSF 2.0 的 Web 应用程序

4

3 回答 3

1

您应该在插入/读取数据之前为连接设置 UTF8 字符集 -

SET NAMES utf8;
INSERT INTO table VALUES(...);

SELECT * FROM table;
于 2012-11-19T08:56:43.170 回答
1

插入数据值时使用 N'',这表示后面的字符串是 Unicode(N 实际上代表国家语言字符集)

INSERT INTO table VALUES(N'ArabicField');
于 2012-11-19T09:09:06.360 回答
0

我认为你必须使用cp1256_general_ci而不是utf8_general_ci,并且不要忘记将数据库和所有可能包含阿拉伯语单词的字段的排序规则设置为utf8_general_ci

于 2013-11-13T21:04:04.753 回答