簡體   English   中英

使用Hibernate將MySQL latin1_bin轉換為utf-8

[英]Convert MySQL latin1_bin with Hibernate to utf-8

我有一個MySQL DB(只讀,無數據庫更改),其中許多varchar字段都編碼為latin1_bin。 我無法更改任何數據庫結構或創建任何視圖。 我可以通過Hibernate訪問此字段。 如何將休眠模式轉換為UTF-8?

<property name="hibernate.connection.characterEncoding">UTF-8</property> 

這不起作用。

我不想直接在我的應用程序中轉換任何字段,因為那是很多String字段。

感謝您的回答!

您可以手動將latin1_bin字符串更改為utf-8字符串。

public class StringHelper {
    public static String convertToUTF8(String s) {
        String out = null;
        try {
            out = new String(s.getBytes("ISO-8859-1"), "UTF-8");
        } catch (java.io.UnsupportedEncodingException e) {
            return null;
        }
        return out;
    }

    public static void main(String[] args) {
        String latinString = "héllo";//just sample not sure real latin string or not.
        String utf8String = StringHelper.convertToUTF8(latinString);
        System.out.println(utf8String);

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM