在为我的网站创建数据库时,我使用了以下语法。
CREATE DATABASE myDatabase DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
现在,当我的客户输入阿拉伯字符时,他看到了一些奇怪的输出。我在网页上使用JSF 2.0。
我需要做出哪些更改才能输入阿拉伯语或我网站中的任何字符,并将其存储在数据库中。
在打印数据时,我看到输出为شسÙ?بشسÙ? بشسÙ?ب شسÙ?ب
我使用的是使用JSF 2.0的Web应用程序
答案 0 :(得分:1)
您应该在插入/读取数据之前为连接设置UTF8字符集 -
SET NAMES utf8;
INSERT INTO table VALUES(...);
SELECT * FROM table;
答案 1 :(得分:1)
使用N''当您插入数据值时,这表示后续字符串是Unicode(N实际上代表国家语言字符集)
INSERT INTO table VALUES(N'ArabicField');
答案 2 :(得分:0)
我认为您必须使用cp1256_general_ci
代替utf8_general_ci
,
并且不要忘记将数据库的排序规则和可能包含阿拉伯语单词的所有字段设置为utf8_general_ci
。