我有一个简单的mySQL数据库,只有一个表和行。该行设置如下:
utf8mb4_general_ci - varchar(255)
当我手动插入以下字符时,它可以正常工作:
☎,इई,Σ
但是当我尝试插入这样的字符时:
或
它不起作用并且给我一个无效字符串错误。我找到了关于第一个字符here.
的信息它声明该角色属于以下块:
MATHEMATICAL_ALPHANUMERIC_SYMBOLS
如何检测这些字符以防止用户提交。我可以使用一个简单的正则表达式吗?
答案 0 :(得分:1)
并且在utf8mb4
范围内。因此,您需要建立从客户端到mysqld服务器的连接为utf8mb4。既然你没有说明你的客户是什么,我不能给你一个具体的答案。 http://mysql.rjweb.org/doc.php/charcoll#python以及以下部分可能涵盖您的客户。请务必使用utf8mb4
代替utf8
,但请单独留下UTF-8
。