如何替换从数据库返回的数据中0x1E的无效字符
本文关键字:数据 0x1E 字符 无效 返回 数据库 何替换 替换 | 更新日期: 2023-09-27 18:32:06
我从DB得到一些无效的日期 - 一个无效的字符0x1E,我怎样才能用这个替换它 - " ?
如果要尝试序列化 xml 字符,则存在此错误,这是类似的问题。
最简单的解决方案是从源字符串中删除禁止的字符:
var newString = new string(
str.Select(c => (int)c)
.Where(i => i >= 32 || i == 9 || i == 10 || i == 13)
.Select(i => (char)i)
.ToArray());
尝试这样的事情:
SELECT REPLACE(myfield, CHAR(30), '') FROM mytable;
这应该从myfield
中删除任何0x1E字符。
或者,要清理数据库表,请使用:
UPDATE mytable SET myfield = REPLACE(myfield, CHAR(30), '')
WHERE myfield LIKE ('%' + CHAR(30) + '%');