Java向derby查询结果中添加符号?

Java向derby查询结果中添加符号?,java,eclipse,unicode,internationalization,derby,Java,Eclipse,Unicode,Internationalization,Derby,我有一个ApacheDerby数据库,我从一个sql文件中转储了它,但是由于某种原因,当我用java查询数据库时,数据库中需要的一些独特的符号会以其他符号作为前缀,或者根本不正确。我还使用了一种特殊的字体,所以我想知道这是否是问题所在,但是当我有一个sqlite数据库时,它运行得非常完美。当我从ij命令行工具查询数据库时,一切正常。我不知道发生了什么事 根据评论、相关信息编辑 当我查询应具有类似µ的字符的列时,它在¨上给出了正确的字符(该字符类似于重音,应出现在字符上),但不应出现¨ 在ari

我有一个ApacheDerby数据库,我从一个sql文件中转储了它,但是由于某种原因,当我用java查询数据库时,数据库中需要的一些独特的符号会以其他符号作为前缀,或者根本不正确。我还使用了一种特殊的字体,所以我想知道这是否是问题所在,但是当我有一个sqlite数据库时,它运行得非常完美。当我从ij命令行工具查询数据库时,一切正常。我不知道发生了什么事

根据评论、相关信息编辑

当我查询应具有类似µ的字符的列时,它在¨上给出了正确的字符(该字符类似于重音,应出现在字符上),但不应出现¨

在arial(一种“普通”字体)中,查询看起来像“rwmklI mhlw 3 Anµdu”,而在ij工具中,查询是“rwmklI mhlw 3 Anµdu”,这是正确的方式,也是数据库中的方式。查询如下:


听起来像是字符编码问题。@Mukhi你能用“普通”字体(如Arial)发布文本的屏幕截图吗?@Mukhi没有额外的字符是这样的吗?当从Derby检索到额外的字符时,它是什么样子的?@Mukhi还有,您如何从Derby数据库检索这个字符串?你能发布Java代码吗?当您使用
System.out
将字符串输出到stdout时会发生什么情况?@Mukhi我不确定。
derby.ui.codeset
系统属性由
ij
用来设置字符编码,但我认为该属性不是由derby本身使用的,它只是由
ij
工具使用。您可以在启动Java应用程序时尝试设置它:
Java-Dderby.ui.codeset=UTF8 com.company.Class
。文件:
SELECT Gurmukhi, English, ShabadID FROM Shabad WHERE FirstLetterStr LIKE '%"+numberquery(text)+"%'