sql 儲存時"空格"轉成問號,且這個空格不是真的空格
阿新 • • 發佈:2021-06-30
在通過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