使用python3将不可见的unicode插入MySQL,但遇到重复
当我使用python(v3.2)将设备数据插入MySQL(v5.5.6)时。它遇到了一个问题 这是设备A(它包含三个unicode和一个空格): '\u202d\u202d\u202d' 和设备B(它只是一个空白): '' 问题是当我将所有设备数据插入MySQL时,错误是 重复输入“激活设备-20151201-1-5740-01000P”--- --' 对于“主要”键 我猜MySQL已经处理了'\u202d'(可能是一个用于反转字符串的unicode?) 如何在python3中模拟类似MySQL的过程? 如何避免重复 预期结果是将python3中的“\u202d\u202d\u202d”转换为“”使用python3将不可见的unicode插入MySQL,但遇到重复,python,mysql,unicode,Python,Mysql,Unicode,当我使用python(v3.2)将设备数据插入MySQL(v5.5.6)时。它遇到了一个问题 这是设备A(它包含三个unicode和一个空格): '\u202d\u202d\u202d' 和设备B(它只是一个空白): '' 问题是当我将所有设备数据插入MySQL时,错误是 重复输入“激活设备-20151201-1-5740-01000P”--- --' 对于“主要”键 我猜MySQL已经处理了'\u202d'(可能是一个用于反转字符串的unicode?) 如何在python3中模拟类似My
请帮帮我。这里有些含糊不清的地方。您想只保留可见的ascii字符还是同时保留可见的unicode字符 如果只想保留可见的ascii字符,简单的方法是使用python内置的
string
模块
import string
new_string = "".join(filter(lambda x:x in string.printable, original_string))
对于您的特定用例,空格是可见ascii的一部分-因此上面将“\u202d\u202d\u202d”和“”转换为“”,这有点复杂。下面是一个关于如何使用正则表达式的很好的解释,您是否希望看到一些中东文本--“从右到左”?