CI 1.63在UTF8下提交中文乱码?
$data = array(
'uid' => $uid,
'username' => '中文',
'email' => $_POST['email'],
'qq' => $_POST['qq'],
'mobile' => $_POST['mobile']
);
$this->db->insert('members', $data);
数据库套接、库、表、字段都是UTF-8,也加了SET NAMES UTF8,各程序文件都存成了UTF-8编码,
config/database设置文件有关选项都设成了UTF-8,
提交到数据库的中文居然还是乱码.
类似:“婀栧崡闀挎矙”
直接用$this->db->query('INSERT...');就没问题.
百思不得其解.不知道有其他的朋友遇到过这个问题没有. CI的页面是GBK的页面。所以提交存到数据库的内容也是GBK的编码。所以会乱码。
你可以使用SET NAMES看看。 ide也设置相应的编码哦 原帖由 旭日 于 2008-7-25 10:37 发表 http://codeigniter.org.cn/forums/images/common/back.gif
CI的页面是GBK的页面。所以提交存到数据库的内容也是GBK的编码。所以会乱码。
你可以使用SET NAMES看看。
CI的页面是GBK的页面,是真的吗?我怎么下载到的是UTF-8 不要误人子弟!!!
CI 的源代码是英文的,怎么会有编码问题呢?acsii 在各种编码下都是一样的~~~~~~~
楼主看看你的 HTML 页面的编码吧! 搞定了.mysql 编译配置出了些问题 :) 其实和Ci没关系.我用CI写过好多个UTF8的程序了.这次是疏忽了.呵呵 你把文件存成utf-8格式的必须
1、在php文件里输出中文(echo之类的)必须用
header("content-type:text/html;charset=utf-8");
2、iis和ie会自动“帮”你设置编码的,要在view文件里或php文件里
<meta里添加http-equiv值为Content-Type,content=引号text/html; charset=utf-8" />晕了,多个引号就被过滤掉了~
[ 本帖最后由 pp18180058 于 2008-7-28 23:51 编辑 ] 原来也遇到过乱码的问题,因为一直用GBK的编码写程序,不太习惯UTF-8,如果库是latin1,只需要在database.php里设置
$db['default']['char_set'] = "latin1";
$db['default']['dbcollat'] = "latin1_swedish_ci";
这样就没有问题,其他地方的UTF-8都没有,没啥问题,数据库和显示都是中文,如果你是UTF-8的库就不改这个地方应该没问题,反正觉得还是GBK方便 劝大家都使用 utf-8,这样我们才能冲出亚洲,走向世界!
页:
[1]