如何使用unicode字符串作为表名在mysql中创建表?

时间:2017-02-28 16:11:02

标签: mysql character-encoding

table_name:Jm™-Í€hÀÂ}#'ÇÊμf

我想在mysql5中创建一个包含table_name的表。 ID,NAME是表中给出的列名。是否可以创建?

“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'\ x0fJm \ ufffd \ x12 \ ufffd \ u0340 \ x11h \ ufffd \ ufffd}附近使用正确的语法# ufffd \ ufffd \ u02b5 \ x0cf \ ufffdx \ ufffd \ ufffd \ ufffd \ ufffd,\ ufffdD ^ \ ufffd *(ID INT,NAME VARCHAR(10),'第1行')

2 个答案:

答案 0 :(得分:1)

建议您使用加密字符串的HEX()。这将避免任何可能导致致命错误的令人讨厌的字符 - 例如空格,零字节,斜线,反斜杠,引号,依赖,......

我检查了BASE64,但它有一个潜在的严重问题,因为它包含“/”

答案 1 :(得分:0)

令人费解之后,我简单地将整个字符串转换为BASE32格式,因为它的字符集包含MySQL中作为表名接受的值,但是输出字符串的长度应该有限制,否则" =& #34;将附加在字符串的末尾。