【问题标题】:Does jdbc support persian languagejdbc是否支持波斯语
【发布时间】:2013-11-29 21:51:45
【问题描述】:

我设计了一个使用jdbc技术连接mysql数据库的java桌面应用程序。 但是当我想在我的数据库中存储一个波斯语数据时,它会像????

我尝试使用两者来创建数据库

CREATE DATABASE 'db' CHARACTER SET 'utf8';

CREATE TABLE  `Table1` (
[...]) DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

我尝试了所有其他 COLLATE,但它们似乎无法正常工作。

我该怎么办?

【问题讨论】:

  • 当你通过 MySQL Workbench 插入一些波斯语时会发生什么?
  • 没关系!我使用 Navicat,当通过这个软件插入波斯文本时没有任何问题。我认为问题在于连接到数据库! :(

标签: java mysql jdbc utf-8


【解决方案1】:

确保已设置驱动程序属性。检查useUnicodetruecharacterEncoding 是“UTF-8”。我假设您使用的是 Connector/J JDBC 驱动程序。

【讨论】:

  • 是的,我正在使用 JDBC 连接器驱动程序,请问在哪里可以更改此设置??
  • 我使用这个代码:Class.forName("com.mysql.jdbc.Driver"); DriverManager.getConnection("jdbc:mysql://localhost:3306/", USERNAME, PASSWORD);
  • 请阅读Connector/J 驱动程序的文档。您可以将这些属性添加到连接 URL。
  • 如您所见,我找到了解决方案:DriverManager.getConnection("jdbc:mysql://localhost:3306/ictrc_db?characterEncoding=UTF-8", USERNAME, PASSWORD);
【解决方案2】:

请参阅此answer。 答案的简短版本是您应该添加

?useUnicode=true&characterEncoding=UTF-8

到 JDBC 连接 URL 的末尾。 例如:

jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 2011-03-10
    • 2013-03-29
    • 1970-01-01
    • 2013-03-23
    • 2021-01-06
    相关资源
    最近更新 更多