Mysql 在数据库中输入阿拉伯语字符
在为我的网站创建数据库时,我使用了以下语法Mysql 在数据库中输入阿拉伯语字符,mysql,database,jsf-2,utf-8,arabic,Mysql,Database,Jsf 2,Utf 8,Arabic,在为我的网站创建数据库时,我使用了以下语法 CREATE DATABASE myDatabase DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 现在,当我的客户输入阿拉伯语字符时,他看到一些奇怪的输出。我将JSF2.0用于web页面 我需要做哪些更改,以便在我的站点中输入阿拉伯语或任何字符,并将其存储在数据库中 编辑1 当我打印数据时,我看到的输出是ØØØØØØØØØØØØØØØØØ?ØØØØØØØØØØØ 注: 我使用
CREATE DATABASE myDatabase DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
现在,当我的客户输入阿拉伯语字符时,他看到一些奇怪的输出。我将JSF2.0用于web页面
我需要做哪些更改,以便在我的站点中输入阿拉伯语或任何字符,并将其存储在数据库中
编辑1
当我打印数据时,我看到的输出是ØØØØØØØØØØØØØØØØØ?ØØØØØØØØØØØ
注:
我使用的是使用JSF2.0的web应用程序,在插入/读取数据之前,应该为连接设置UTF8字符集-
SET NAMES utf8;
INSERT INTO table VALUES(...);
SELECT * FROM table;
使用N''插入数据值时,这表示后续字符串是Unicode格式的(N实际上代表国家语言字符集)
我认为您必须使用cp1256\u general\u ci
而不是utf8\u general\u ci
,
不要忘记将数据库和所有可能包含阿拉伯语单词的字段的排序规则设置为utf8\u general\u ci
,首先,数据是否正确保存在数据库中?您在哪里看到来自@babooney的输出?@babooney:在读取数据并使用System.out.println打印数据时,我将输出视为ØØØØØØØØØ?ØØØØØØØØØØØØØØØØØØØØÙØØØØØ216。。不管怎样,你使用的是哪台服务器?我使用的是JSF2.0。我照你说的做了,而我得到的异常是java.sql.SQLException:不正确的字符串值:“\xD9?\xD8\xB4\xD8\xB4…”第1行的“全名”列
我正在输入阿拉伯语文本。。。不是英文文本。。。请确定,插入表中的值(N'代码>默认情况下它是正确的。我相信您的问题在于插入时,阅读mySQL相关部分,
INSERT INTO table VALUES(N'ArabicField');