Spam Karma 2的SQL插入错误

今天服务器刚刚恢复, 重新开通, 结果茄子来祝贺地发评论的时候出现了类似下面的问题:


插入/升级sk2_kSpamTable记录中的评论ID内容失败:321 (模式:覆盖).
查询:INSERT INTO `wp_sk2_spams` SET `karma` = 25,`karma_cmts` = ‘a:1:{i:0;a:4:{s:2:\”ts\”;i:1241076337;s:3:\”hit\”;d:25;s:6:\”plugin\”;s:10:\”User Level\”;s:6:\”reason\”;s:40:\”评论者登陆状态,ID: 1, Level: 10\”;}}’, `unlock_keys` = ‘a:0:{}’, `remaining_attempts` = 5,`last_mod` = NOW(), `comment_ID` = 321
SQL错误:Incorrect string value: ‘\xE8\xAF\x84\xE8\xAE\xBA…’ for column ‘karma_cmts’ at row 1

Warning: Cannot modify header information – headers already sent by (output started at xxx\xxx.php:208) in xxx.php on line XXX

我原先以为是恢复数据的时候表有损坏, 因此将SK2禁用, 并把它的所有表全部删除, 然后重新激活.

可是问题依旧, 于是我进了数据库, 发现SK2的表默认字符集为”latin1_swedish_ci”, 我就想是否是因为字符集的问题导致了插入失败 (中文相对于该字符集可能算乱码, 或者非法字符吧), 在网上搜索了一下, 发现很有可能的确是我想的, 于是我把SK2表字段中的所有”latin1_swedish_ci”替换成了”utf8_general_ci”, 保存.

一切恢复正常, 呼呼~ 看来新版的MySQL对于数据表方面的规范要求严格了不少. 😆

MAMP中MySQL客户端工具的连接

服务器关闭了N久, 具体原因俺真的很无奈, 因为关闭了N久, 谷歌都把俺的BLOG给当作无效的服务器给除名了好象.

这段时间顺利从微软的Windows阵营过渡到苹果的Mac阵营, 当前使用的系统版本是Mac OS X Leopard. 觉得强大的人性化功能是其他系统不能比的, 用起来就是享受.

哈哈, 题外话到此了, 讲正题.

缩写LAMP想必大家都知道, 由Linux+Apache+MySQL+PHP的组成的WEB开发和运行环境. 在OS X下面, 有一个软件直接集成了Apache+MySQL+PHP, 再加上运行的系统环境是Mac, 于是, 当当当, MAMP出来了.

MAMP 控制台界面

使用MAMP后, 感觉真的很方便, 不用一个小问题, 很头痛.

以前在Windows下, 经常用MySQL的客户端工具来进行很直观地建表查询分析等操作, 可是在OS X下使用了MAMP之后, 客户端工具死活连接不上. 提示如下.

客户端错误提示

然后谷歌了N多英文站, 都没有发现有此类的问题介绍, 很是无奈.

今天开启了MAMP后, 到了它的默认配置首页, 突然看到一个让人惊喜若狂的提示.


or you can connect using an UNIX Socket:

Socket: /Applications/MAMP/tmp/mysql/mysql.sock
User: xxxx
Password: xxxx

再对照客户端的错误提示, OS X是类UNIX的操作系统, 再看看客户端工具的连接选项, 发现下面有一个Socket选项.

填写Socket选项, 连接MySQL

于是填写上Socket, 连接, 成功~ 现在将这些记录下来, 希望对大家有用, 嘎嘎~ :mrgreen: