【发布时间】:2017-11-22 02:04:20
【问题描述】:
我正在构建一个示例应用程序,它将对话从 iOS 短信数据库文件转换为可读的 html 页面。
但在控制台和 html 页面中,表情符号显示为“?”但在 DB 浏览器中它们显示得很好。
还有我的代码:
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();
}
【问题讨论】: