1

如何在使用 PHP 的 mySQL 中使用汉字作为表名。目前它不返回任何错误,而是创建一个名为“???”的表。

知道需要做什么吗?还是做不到?

4

2 回答 2

0

也许你应该将 MySQL 字符集设置为 UTF-8 或 GBK 或 GB2312,如下所示:

CREATE TABLE t (c CHAR(20) CHARACTER SET gbk COLLATE gbk_chinse_ci);
于 2013-01-25T02:27:42.907 回答
0

几乎每个 SQL 语句都以某种方式使用标识符来引用数据库或其组成元素,例如表、视图、列、索引、存储的例程、触发器或事件。当您引用数据库的元素时,标识符必须符合以下规则。

标识符中的合法字符。不带引号的标识符可以由a-z任何字母大小写的拉丁字母、数字、、、0-9dollar范围内的字符underscore组成。Unicode extendedU+0080 to U+FFFF

标识符可以以标识符中合法的任何字符开头,包括数字。但是,未加引号的标识符不能完全由数字组成,因为这会使它与数字无法区分。MySQL 对以数字开头的标识符的支持在数据库系统中有些不同寻常。如果您使用这样的标识符,请特别注意它是否包含“ E ”或“ e ”,因为这些字符可能会导致模棱两可的表达。

例如,表达式23e + 14('+' 符号周围有空格)表示列23e加上数字14,但是呢23e+14?它的意思是一样的,还是科学计数法中的数字?

标识符可以在backtick字符内引用(分隔)(' '), which permits use of **any character**, except aNUL byte orUnicode 补充characters (U+10000 及以上')。您的操作系统可能会对数据库和表标识符施加额外的限制。

于 2017-02-23T14:45:11.420 回答