在sqlite

时间:2015-05-20 14:43:26

标签: sqlite utf-8

我正在尝试从表中删除some invisible characters。我试过这个问题:

UPDATE table SET text = REPLACE(text, x'202B', '' )
没有运气。我也试过用它来选择它:

SELECT REPLACE(text, x'202B', '@@@@') AS text FROM table

但没有替换,所以我猜它在x'202B'列中找不到text,但如果我使用此查询:

SELECT * FROM table WHERE text REGEXP "[\x202B]"

我确实得到了结果。

1 个答案:

答案 0 :(得分:1)

x'202B'不是单个不可见的Unicode字符;它是一个包含两个ASCII字符+的blob。

所有SQLite字符串都以UTF-8编码。 当您手动从字节构造字符串时,必须使用相同的编码:

x'E280AB'