Utf-8+Bom編碼導致的讀取資料部分異常問題,utf-8bom

來源:互聯網
上載者:User

Utf-8+Bom編碼導致的讀取資料部分異常問題,utf-8bom

項目中經常會有這種情境,在設定檔中配置對應關係,項目啟動的時候從中讀取資料存入map緩衝起來,這樣使用的時候就可以直接從map找到對應的映射關係.

然後遇到了這麼一個詭異的問題,一個簡單的映射關係如下:

1:"語文"2:"數學"3:"英語"

第一行的語文的映射關係無論如何都取不到,debug的時候可以看到實際上map中是存在1:"語文"這條映射關係,但是取的時候卻取不到.這個很詭異啊,取2或是3的映射關係一點問題都沒有,僅僅取1的時候失敗,返回null.debug來debug去,完全看不出來問題,實在沒解點開map中的key仔細端詳一番,發現這個1的key有點不一樣,2和3的可以就是一個char對應2或是3,但是這個1的key卻對應2個char,一個是1,但是在1之前卻有另一個char存的是\ufeff,百度了一下這個\ufeff發現這個是由於採用utf-8+bom編碼,它屬於bom頭部分.到此問題明了了,實際上存入map的時候,將bom頭也作為key的部分存入了,導致第一行的key存入的是錯誤的值,取值時自然取不到.

解決方案也就明了,只需要將設定檔另存成utf-8編碼即可.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.