我正在制作一个图书馆管理系统,我想为我的项目添加阿拉伯语支持,但我遇到以下困难:
当通过查询将数据插入SQL中时,例如
Insert into book_info values(25, N'جاوا', N'Author',N'Publisher',2014,N'Subject',50,N'Language','Latest',5)
,book_info中的列如下:- 书籍ID(int)
- 书籍标题(NVarchar(50))
- 作者(NVarchar(50))
- 出版社(NVarchar(50))
- 出版年份(int)
- 学科(NVarchar(50))
- 价格(int)
- 语言(NVarchar(50))
- 版本(NVarchar(50))
- 部分(int)
因此,当我通过我的项目执行此查询时,
SQL Management Studio
显示一些编码字符,例如'مجتبیٰ'
代替阿拉伯字符,在SQL Management Studio
和选择数据时都是如此。注意:这些查询中的值是通过textfield
使用.getText()
函数获取的。如果我们通过在
SQL Management Studio
中执行查询来跳过第一个问题,那么通过这样做,第一个问题会被临时解决,因为SQL Management Studio
在选择数据时显示阿拉伯字符,但是当我们从软件中选择它并通过ResultSet
获取数据并在Textfield
中显示它时,如"TextF.setText(ResultS.getNString())
",文本字段中会显示"??????
"而不是阿拉伯字符。
???
字符表示)。 - Panagiotis KanavosgetText
返回ASCII(我怀疑),要么你的数据库语句是ASCII,或者数据库驱动程序将语句作为ASCII发送。请发布你用于插入数据的代码。你也可以尝试使用SQL Profiler查看实际发送到服务器的内容,调试你的应用程序以查看每个步骤中字符串的值。 - Panagiotis Kanavos