为什么MySQL在utf-8编码字符之前删除'\'?

时间:2015-08-04 22:32:52

标签: mysql utf-8

我在MySQL数据库中存储包含A-Z以外字符的数据。当存储非AZ字符时(例如\u201cboard\u201d是“board”,显示为u201cboardu201d),MySQL会删除'\',这会使文本成为完整的无意义字母和数字无法阅读。我正在使用utf8_general_ci编码。

我做错了什么?

3 个答案:

答案 0 :(得分:0)

反斜杠是MySQL的特殊符号,尝试使用双反斜杠('\\'而不是'\')

答案 1 :(得分:0)

不要存储\ u ...东西,存储utf8。

如果您来自PHP,请注意额外的arg:

$t = json_encode($s, JSON_UNESCAPED_UNICODE);

答案 2 :(得分:0)

解决方案是在连接到MySQL数据库时明确指定编码和凭据。我正在使用Python,所以在我的情况下我必须这样做:

df %>% group_by(Name) %>% filter(sum(Sales) > 23000)
#Source: local data frame [8 x 3]
#Groups: Name
#
#  Name Month Sales
#1    C    M1  6990
#2    C    M2  5624
#3    C    M3  7236
#4    C    M4  5899
#5    D    M1  3541
#6    D    M2  9299
#7    D    M3  3627
#8    D    M4  8523