gpt4 book ai didi

java - 使用 Java 从本地 SQLite 数据库读取表情符号

转载 作者:行者123 更新时间:2023-12-02 11:58:40 26 4
gpt4 key购买 nike

我正在构建一个示例应用程序,它将 iOS 短信数据库文件中的对话转换为可读的 html 页面。

但是在控制台和 html 页面中,表情符号显示为“?”但在数据库浏览器中它们显示正常。

HTML 预览示例: Example of the HTML page

我的代码:

public static void main(String[] args) throws SQLException, IOException {

String url = "jdbc:sqlite:C:/test/sms2.db";

Connection conn = DriverManager.getConnection(url);

Statement s = conn.createStatement();

ResultSet rs = s.executeQuery("SELECT handle_id,is_from_me,text FROM message");

File f = new File("C:\\Users\\theda\\Documents\\Messages\\convo\\+1**********.html");
if(!f.exists())
f.createNewFile();
FileWriter w = new FileWriter(f);
WriterOutputStream write = new WriterOutputStream(w, Charset.forName("utf8"));

w.append("<link rel='stylesheet' type='text/css' href='message.css'>");
w.append("<body>");

while(rs.next()){
if(rs.getInt("handle_id") == 3){
String st = " ";
String fromMe = " ";
if(rs.getInt("is_from_me") == 1)
fromMe = "true";
else
fromMe = "false";
st = "<div class='message' data-outgoing='" + fromMe + "'>" + rs.getString("text") + "</div><br>";

System.out.println(st);
w.append(st);
}
}

w.append("</body>");
w.close();

}

最佳答案

确保您的 HTML 页面在元标记中使用正确的字符集:

<meta charset="utf-8" />

一般来说,将特殊字符放入 HTML 中时将其编码为 HTML 实体也是一个好主意。根据this answer ,您可以使用 Java 的 StringEscapeUtils.escapeHtml() 方法来完成此操作。

关于java - 使用 Java 从本地 SQLite 数据库读取表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47419666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com