用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3421|回复: 3
收起左侧

存储中文到数据库出错。

[复制链接]
发表于 2008-5-16 14:38:49 | 显示全部楼层 |阅读模式
我的数据库是mysql, 连接方式为mysqli,字符集char_set为utf8, dbcollat为utf8_general_ci。 数据库mysql的字符集同样也设为utf8_general_ci。
可是在存入一下中文字符串时,出现了下面的错误:

An Error Was Encountered

Error Number: 1366

Incorrect string value: '\xC8\xF6\xB6\xE0' for column 'username' at row 1

INSERT INTO `users` (`username`, `email`, `password`) VALUES ('撒多', 'sdag@sdag.com', '202cb962ac59075b964b07152d234b70')

请大家帮忙指导一下,多谢。
发表于 2008-5-16 14:53:33 | 显示全部楼层
很明显,你的字符集有问题,你看看你的网页是什么编码吧。
 楼主| 发表于 2008-5-16 16:34:20 | 显示全部楼层
谢谢你的提醒。我把页面的编码和文件的存储格式都改成了utf8后,就可以存储了。
可是这样又有一个问题,在使用redirect()函数的时候,由于utf8会产生额外的空格。这样在页面显示的时候就会报错。不知道大家有何建议?谢谢。。
 楼主| 发表于 2008-5-16 16:44:52 | 显示全部楼层
找到问题了。。是由于同事的编辑器错误,在保存文件的时候在文件的头部放了空格。。后来在vi里面删去空格就行了。呵呵

本版积分规则