如何在使用 PHP 的 mySQL 中使用汉字作为表名。目前它不返回任何错误,而是创建一个名为“???”的表。
知道需要做什么吗?还是做不到?
也许你应该将 MySQL 字符集设置为 UTF-8 或 GBK 或 GB2312,如下所示:
CREATE TABLE t (c CHAR(20) CHARACTER SET gbk COLLATE gbk_chinse_ci);
几乎每个 SQL 语句都以某种方式使用标识符来引用数据库或其组成元素,例如表、视图、列、索引、存储的例程、触发器或事件。当您引用数据库的元素时,标识符必须符合以下规则。
标识符中的合法字符。不带引号的标识符可以由a-z
任何字母大小写的拉丁字母、数字、、、0-9
和dollar
范围内的字符underscore
组成。Unicode extended
U+0080
to U+FFFF
标识符可以以标识符中合法的任何字符开头,包括数字。但是,未加引号的标识符不能完全由数字组成,因为这会使它与数字无法区分。MySQL 对以数字开头的标识符的支持在数据库系统中有些不同寻常。如果您使用这样的标识符,请特别注意它是否包含“ E ”或“ e ”,因为这些字符可能会导致模棱两可的表达。
例如,表达式23e + 14
('+' 符号周围有空格)表示列23e
加上数字14
,但是呢23e+14
?它的意思是一样的,还是科学计数法中的数字?
标识符可以在backtick
字符内引用(分隔)(' '), which permits use of **any
character**, except a
NUL byte or
Unicode 补充characters (
U+10000 及以上')。您的操作系统可能会对数据库和表标识符施加额外的限制。