@hunter129

          天天學習,好好向上!

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            21 隨筆 :: 5 文章 :: 37 評論 :: 0 Trackbacks
          文件編碼導致的sun.io.MalformedInputException異常
          如果你沒有使用ibm的jdk,卻依然遇到了這個問題。
          如果你的異常是在解析xml的時候出現的,如果你的異常是某些地方有某些地方沒有。
          例如tomcat里面沒有,weblogic上有。抑或這個domain有那個domain卻沒有。而確實是同一個應用。
          哪么你遇到的可能和筆者要講的是同一個問題。

          你的xml文件本身是UTF-8編碼(注意是文件是UTF-8編碼,不是xml文件里面指定的文件內容是UTF-8編碼)?
          你的xml文件里面含有中文?
          你使用UltraEdit編輯xml文件?
          刪掉中文,問題依舊?

          那么可以肯定你的問題就是筆者要講的問題

          首先給出解決方案:
          方案一:
          1.xml用記事本打開,刪除里面的中文。
          2.在windows 本地新建一個txt文件,用記事本(注意不能用UltraEdit)打開。
          3.將xml里面的內容復制到新建的txt文件中。
          4.將txt文件重名為xml文件的名稱。覆蓋原來的xml文件
          5.看看問題是不是解決了,咔咔 神奇吧。

          方案二:(適用于使用eclipse ide的程序員們,其他的能更改文件編碼的程序也行,不過沒測試過)
          1.將xml文件的內容剪切出來,保存在別處,什么文件都行,最后是txt中。留下一個空的xml文件
          2.將空的xml文件的編碼修改成GBK。注意是文件的編碼,不是xml的那個聲明。當然這里已經刪了。
          3.這時候是否看到文件的頭部有亂碼? 刪之!
          4.將原來文件的內容烤回來
          5.ok問題解決,這種方法不用刪除中文。

          問題的根源:
          估計有些人已經明白是什么原因了。呵呵,那就是xml文件那個BOM的頭導致的這個問題!
          哦?還有沒明白的?下面詳細說明下:
          xml文件分為兩種,一種是有BOM信息的,它表示文件是xml格式
          另外還有沒有BOM信息的xml文件。
          就是這個特殊的BOM信息導致了解析xml出錯。
          那跟UltraEdit有什么關系?UltraEdit在編輯xml文件的時候會自動加上這個可惡的BOM信息。
          posted on 2008-05-21 22:22 hunter129 閱讀(10135) 評論(4)  編輯  收藏 所屬分類: 基礎 、調試相關

          評論

          # re: 文件編碼導致的sun.io.MalformedInputException異常 2008-07-09 16:38 ironwan
          能否修改代碼來解決這個問題的?如果客戶使用我們的系統時,讓他們這么干他們肯定反對啊!  回復  更多評論
            

          # re: 文件編碼導致的sun.io.MalformedInputException異常 2008-07-09 18:35 落Nicety
          @ironwan
          這個問題的根源應該跟文件解析有關系
          可以嘗試 修改這些 不過難度比較大 我沒有嘗試過  回復  更多評論
            

          # re: 文件編碼導致的sun.io.MalformedInputException異常[未登錄] 2009-04-12 17:47 ws
          請問如果是由于是使用了IBM的JKD(本機),而跟程序不兼容怎么解決這個問題  回復  更多評論
            

          # re: 文件編碼導致的sun.io.MalformedInputException異常 2009-07-13 15:04 落Nicety
          @ws
          你這個是ibm jdk io的問題吧。
          給jvm 增加參數-Dibm.stream.nio=true  回復  更多評論
            

          主站蜘蛛池模板: 青阳县| 广汉市| 南投县| 长治县| 舟山市| 虹口区| 佳木斯市| 凌海市| 镇坪县| 栾川县| 郧西县| 江华| 灵山县| 沽源县| 安化县| 葫芦岛市| 探索| 登封市| 廊坊市| 莱西市| 蒙自县| 西盟| 太仆寺旗| 鄄城县| 宾阳县| 广西| 繁峙县| 兖州市| 遂宁市| 马龙县| 亚东县| 云龙县| 隆德县| 普定县| 沾益县| 安阳县| 唐海县| 洛浦县| 平原县| 五家渠市| 华坪县|