![]() | 1 gengyanda OP > 于是乎,“你好”被储存成了“你好” 应该是被储存成了“&# 20320; &# 22909”,中间的空格请无视掉。因为刚刚直接打上去这串内容被v2ex直接转换成汉字了…… |
![]() | 2 explon 2013-06-29 23:28:49 +08:00 via iPad 表的 charset 设置错了吧 |
![]() | 3 gengyanda OP @explon 我总觉得这是php写入时的问题,因为读取的时候能正常读取。会不会是php先把汉字转换成了明文的utf8码,然后储存的?搞不清也不知道怎么办 |
![]() | 4 mopvhs 2013-06-30 09:02:04 +08:00 via Android header("Content-type: text/html; charset="); 如果页面没有设置编码,也会出现这种情况。 |
![]() | 5 sNullp 2013-06-30 09:09:23 +08:00 mysql表的charset(不是通讯的charset)没设置好,使用了最原始的字节方式直接存储。 |
![]() | 6 gengyanda OP 找到问题所在了。我是用表单提交的汉字。然而我发现表单传到服务器的时候,提交上来的就已经不是汉字而是utf8码了。所以我在储存的时候自然就把码储存进去了。这不是mysql的问题,是表单提交时编码的问题。 |