关于Mysql Error “#1210 – Wrong arguments to”

Posted in Mysql on June 27th, 2007 by Adam

今天有个朋友把discuz从4.0升级到5.5,不料还没装好,运行正常的旧论坛竟然出现了下面的错误:

SQL: UPDATE tb_stats SET count=count+1 WHERE (type=’total’ AND variable=’hits’) …
Error: Wrong arguments to =
Errno.: 1210

初以为是安装新的table覆盖了旧的,吓出一身冷汗。通过分析counter.inc.php,发现注释掉那一行SQL后,论坛可以看见了,但是是乱码。进数据库看看,发现旧论坛的table是lantin1的编码,而新论坛是gbk,难道安装新论坛修改了数据库默认的字符设置?现在还不敢肯定。

Mysql.com也对 #1210 – Wrong arguments to 错误作出了解释,看来的确是编码的问题。

1. Specify that the string is in latin1 too:
SELECT * FROM test WHERE name=_latin1′bla’;

2. Convert the string from utf8 to latin1:
SELECT * FROM test WHERE name=CONVERT(‘bla’ USING latin1);
目前还不清楚旧论坛该怎么处理。再看看有什么解决办法。
问题已解决:很简单:

ALTER DATABASE `yourdatabase` DEFAULT CHARACTER SET latin1;

另外: discuz安装程序没有考虑到向下的兼容,这是不足。 造成在4.0的mysql中安装时出现很多问题。之所以数据库默认字符被修改,就是因为下面在install.php中的这一句:

CREATE DATABASE IF NOT EXISTS `$dbname` DEFAULT CHARACTER SET $dbcharset

哪怕数据库已存在, DEFAULT CHARACTER SET 仍然有效执行。

LifeHacker推荐的CSS免费预览工具-CSSVista

Posted in CSS on June 26th, 2007 by Adam

LifeHacker推荐了一款可以帮助网站开发人员可以实时预览CSS样式表的测试软件-CSSVista,该软件针对样式表在IE和FireFox下不同的显示,帮助网站开发人员更加直观的认识CSS在IE和FireFox之间区别。从而加快CSS的调试和纠错。是一款不错的免费软件。

Google Translate推出双语词典服务

Posted in Google与Idea on June 22nd, 2007 by Adam

mwsnap074.jpg
今天打开Translate的页面,发现上面多了一个Directory的选项,原来是多了一个双语字典的服务,真是太爽了,可以抛弃烦人的金山词霸啦,我用的是03版的,词汇量太少,还经常造成死机。而且特别是对于学习其它语种很有帮助,希望Google再接再厉,扩大语种范围,让我们更加方便。很佩服Google的创新精神,他们每推出一项新的免费服务,都让人又一次惊喜。让那些讨厌的翻译软件见鬼去吧!

RSS Feed