[英]Characters not displayed correctly in database
我正在用codeigniter开发我的应用程序,得到了ī, ū, ā ,š
等字符。 当我将它们插入数据库时,我会执行utf8_encode('$this->input->post('mypostdata')')
。 当我在页面上回显它们时,我执行utf8_decode($enterie->row('myrow'))
,一切都显示正常。 但是,当我打开数据库时,所有这些字符都显示为Ä«或Å¡等。我将数据库排序规则设置为utf8_general_ci 。 Codeigniter数据库配置文件
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
我已经用SHOW CREATE DATABASE
DB_NAME检查了数据库字符集,我得到了/ *! 40100 DEFAULT CHARACTER SET utf8
* /
我搜索了信息并找到了有关my.cnf文件的信息,但是我的页面和数据库托管在ipage.com上。
那么我应该检查哪些选项?
我已经面临这个问题。 使用iconv()
函数仅需要一行代码:
尝试这个:
$post_data1= $this->input->post('mypostdata'); //data with ī, ū, ā ,š
$post_data= iconv('UTF-8', 'ASCII//TRANSLIT', $post_data1); //now it will become i, u, a etc.
现在将$post_data
发送到数据库。
它会工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.