在通过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