.net 讀取Excel內容時空格變問號怪問題


今天編碼時遇到了一個問題,大致描述就是去讀取excel中的某列,如圖:

這些是文件名,類似一個對應關系表,然后代碼去查找對應的文件。

斷點調試出來的內容也是正常,但是都匹配不到(文件真實存在),在打出log時發現了端倪:

有些空格變成了問號。難道是我的打開方式不對么。。。?

嘗試了幾種不同編碼打開,問題依然存在,個人感覺因為這個文件寫入時就已經含有了這個特殊字符。只不過顯示時候還是空格。

既然打開方式不影響的話,那么是否可以把問號替換成空格。直接寫Replace(?, " ") 這樣是不起作用的。所以還是需要先轉碼。

最終解決方案為:

byte[] space = new byte[] { 0xc2, 0xa0 };
string UTFSpace = Encoding.GetEncoding("UTF-8").GetString(space);
name = name.Replace(UTFSpace, " ");

 

問題參考:http://blog.csdn.net/wuhongyao3/article/details/5834921

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM