亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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);


正在回答

13 回答

樓主的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轉換出來是不帶簽名的)

1 回復 有任何疑惑可以回復我~

lz怎么解決的?

0 回復 有任何疑惑可以回復我~

不是說了嗎,xml文件中的第一行的聲明有問題??纯词遣皇嵌鄬懥嘶蛘呱賹懥诵〇|西

0 回復 有任何疑惑可以回復我~
#1

_Aooooo

根本沒問題,怎么每個問題下都有人讓改第一行聲明
2017-02-23 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消

Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允許有內容。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號