MySQL - 拒绝运行集名称?

时间:2011-10-06 07:00:11

标签: mysql

快速提问,因为我以前从未遇到过这个问题。

在webhost上我正在运行查询:

SET NAMES 'utf8'

这会返回以下错误:

  

错误:未知系统变量'NAMES'

我以前没碰过这个。尝试将CURRENT_TIMESTAMP指定为默认列值以及设置表的排序规则时,我收到类似的错误。

我正在运行的MySQL查询在此之前已经在数百个主机帐户上工作。在联系主持人时,我不知道这可能是我的代码。

这是一个狡猾的MySQL安装的可能吗?主机说他们正在运行MySQL5

1 个答案:

答案 0 :(得分:0)

自MySQL 4.1以来,SET NAMES可用,它为字符集处理和完整的UTF-8支持带来了大规模的改变。确定你面前有MySQL版本< 4.1。试试

SELECT VERSION();

作为a1ex07推荐。

旧版本的MySQL只能处理8位字符数据。它们仍然可以将UTF-8数据存储为字节序列,但它们并不知道它。在MySQL< 4.1中存储了几个用于存储UTF-8的退款。例如,字符串长度可以超过给定的列限制,尽管字符数应该适合。现代字符串比较功能也不存在(它们正确地比较特殊字符和不同的写入方式,即德语中的“ß”与“ss”)。