Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允許有內容。
我的books.xml是UTF-8格式的,然后我修改聲明中的encoding = "ISO-8859-1",使用InputStream的方式時,可以重現亂碼問題。但是用InputStreamReader以后,就報標題中提示的錯誤。請問該怎么解決?
????????????InputStreamReader isr = new InputStreamReader(in, "UTF-8");
? ? ? ? ? ? // 3.通過saxBuilder的build方法,將輸入流加載到saxBuilder中
? ? ? ? ? ? Document document = saxBuilder.build(isr);
2016-03-23
樓主的xml文件的格式不是UTF-8,而是UTF-8 with signature(文件最前端有3個字節的二進制簽名表示這個文件是UTF-8格式),由于編輯器都認識signature,在gui編輯器上既看不到,也修改不了。
簡單的驗證方式是用ultra-editor,emeditor等能夠查看二進制的編輯器看一下文件的最前面三個字節是不是簽名,當然在linux下直接用xxd命令或者od命令就可以看了。
不知道問什么java不認這個UTF-8 signature,我的解決方案是在linux下用iconv轉換到gbk再轉換回UTF-8。(iconv轉換出來是不帶簽名的)
2016-03-11
lz怎么解決的?
2015-12-15
不是說了嗎,xml文件中的第一行的聲明有問題??纯词遣皇嵌鄬懥嘶蛘呱賹懥诵〇|西