繁体   English   中英

字符未正确显示在数据库中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM