0

我正在使用 eclipse 构建服务器应用程序,客户端是 android 应用程序

当我只使用 Java 应用程序时,我可以从 mysql 读取阿拉伯字符并可以将其正确打印到 eclipse,但在服务器应用程序上我不能,结果是这样的问号`?????`

我正在尝试在 eclipse 上打印结果而不是在 android 上

我连接到数据库是:

String unicode = "?useUnicode=yes&characterEncoding=UTF-8";
Class.forName("com.mysql.jdbc.Driver");
            con = (Connection) DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/ams-competation" + unicode,
                    username, password);

不关心 android ,我在问如何在 eclipse 服务器应用程序上读取和打印阿拉伯字符

编辑

似乎我的问题来自日食而不是来自连接,因为当我尝试这个时System.out.println("روما");,我得到了问号,当我试图用这个语句检查那个问号时

if(q.getFirstChoice().equals("بيرلو"))
                System.out.println("dddd");

结果是dddd,所以我可以从mysql正确读取它,但是我在打印结果时遇到了问题

4

1 回答 1

1

问题是system.out不支持UtF-8字符,因此您应该使用以下代码

PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
out.println(“some-utf8-string”);

你也可以看看参考

编辑
其他解决方法是

  • 在“运行配置”的“参数”选项卡中,我将“-Dfile.encoding=UTF-8”添加到 VM 参数中
  • 在运行配置的通用选项卡中,我将控制台编码设置为 UTF-8
于 2012-06-22T13:04:21.933 回答