小编典典

使用JAVA将希伯来语写入mySql

java

我有一个小的Java方法,可将短消息插入到MySQL数据库中。该表的默认排序规则是utf8_unicode_ci,而Java代码是:

private void insertMessageToDataBase(String lRoom, String lChatusername,
            String lMessage) {
        try {
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/embeddedChat?" +
                "user=site_access&password=XXXXXXX");
            addMessageToDataBase = con.prepareStatement("INSERT INTO `" + lRoom + "` (username, message, action)" +
                    " VALUES (?,?,'message');");
            addMessageToDataBase.setString(1, lChatusername);
            addMessageToDataBase.setString(2, lMessage);
            addMessageToDataBase.executeUpdate();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }

问题是,当lMessage是希伯来语时,结果是字符串“ ??????”

顺便说一句:我不知道它是否有帮助,但是还有一个PHP脚本有时会写入此数据库中的另一个相似表,并且可以正常工作。


阅读 221

收藏
2020-11-23

共1个答案

小编典典

在代码中设置UTF-8。看到这个;

    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/embeddedChat?useUnicode=true&characterEncoding=utf8");
2020-11-23