在通過Excel直接導入數據庫的數據處理時,出現一個情況對我造成很大的困擾,一個特殊字符,看起來是個空格,但無法通過去除空格的方式去除。如果新建表,以查詢方式插入就會變成問號。
這個字符存在很多數據的末尾,嘗試很多方式,都沒有成功去除。
“問題的根源,在於UTF-8這種編碼里面,存在一個特殊的字符,其編碼是“0xC2 0xA0”,轉換成字符的時候,表現為一個空格”
經過實驗,這個字符的 UNICODE 是 160
--我的表中這個字符通常在最后一個字符 SELECT UNICODE(RIGHT([列], 1)) FROM [表] WHERE [列] LIKE '%'+NCHAR(160)+'%'
這樣,解決方案也出來了:
-- 替換這個字符 UPDATE [表] SET [列] = REPLACE([列],NCHAR(160),'') WHERE [列] LIKE '%'+NCHAR(160)+'%'
參考:
sql 存儲時空格轉成問號問題 :https://www.cnblogs.com/lcawen/p/9473226.html
sql 空格變問號;sql 無法 去掉 空格 ;sql rtrim 失效;(轉載): https://www.cnblogs.com/hao-1234-1234/p/13232281.html
SQL Server 中怎么查看一個字母的ascii編碼或者Unicode編碼 : https://www.cnblogs.com/dawenyang/p/5774625.html