快速提问,因为我以前从未遇到过这个问题。
在webhost上我正在运行查询:
SET NAMES 'utf8'
这会返回以下错误:
错误:未知系统变量'NAMES'
我以前没碰过这个。尝试将CURRENT_TIMESTAMP
指定为默认列值以及设置表的排序规则时,我收到类似的错误。
我正在运行的MySQL查询在此之前已经在数百个主机帐户上工作。在联系主持人时,我不知道这可能是我的代码。
这是一个狡猾的MySQL安装的可能吗?主机说他们正在运行MySQL5
答案 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”)。