删除sqlite中的UTF-8子字符串
Remove UTF-8 substring in sqlite
我正在尝试从 table 中删除 some invisible characters。我试过这个查询:
UPDATE table SET text = REPLACE(text, x'202B', '' )
运气不好。我还尝试使用以下方式选择它:
SELECT REPLACE(text, x'202B', '@@@@') AS text FROM table
但没有任何内容被替换,所以我猜测它在 text
列中找不到 x'202B'
,但是如果我使用此查询:
SELECT * FROM table WHERE text REGEXP "[\x202B]"
我确实得到了结果。
x'202B'
不是单个不可见的 Unicode 字符;它是一个包含两个 ASCII 字符 </code> 和 <code>+
.
的 blob
所有 SQLite 字符串均以 UTF-8 编码。
当您手动从字节构造字符串时,您必须使用相同的编码:
x'E280AB'
我正在尝试从 table 中删除 some invisible characters。我试过这个查询:
UPDATE table SET text = REPLACE(text, x'202B', '' )
运气不好。我还尝试使用以下方式选择它:
SELECT REPLACE(text, x'202B', '@@@@') AS text FROM table
但没有任何内容被替换,所以我猜测它在 text
列中找不到 x'202B'
,但是如果我使用此查询:
SELECT * FROM table WHERE text REGEXP "[\x202B]"
我确实得到了结果。
x'202B'
不是单个不可见的 Unicode 字符;它是一个包含两个 ASCII 字符 </code> 和 <code>+
.
所有 SQLite 字符串均以 UTF-8 编码。 当您手动从字节构造字符串时,您必须使用相同的编码:
x'E280AB'