数据库中未正确显示字符

时间:2013-05-24 09:29:20

标签: php mysql codeigniter

我正在 codeigniter 中开发我的应用 我得到了像ī, ū, ā ,š等我的角色。当我将它们插入数据库时​​,我会utf8_encode('$this->input->post('mypostdata')')。当我在页面上回显它时我做utf8_decode($enterie->row('myrow')),一切都显示得很好。但是当我打开数据库时,所有这些字符都显示为Ä«或Å¡等。我将我的数据库整理设置为 utf8_general_ci 。 Codeigniter db配置文件

$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上托管的。

那么我应该检查哪些选项?

1 个答案:

答案 0 :(得分:0)

我已经遇到过这个问题。使用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发送到数据库。

它会起作用。