2

我正在使用codeigniter开发我的应用程序, 我得到了我的角色ī, ū, ā ,šetc 。当我将它们插入数据库时​​,我会这样做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检查了 db 字符集,我得到了 /*! 40100 DEFAULT CHARACTER SET utf8*/

我搜索了信息,发现了一些关于 my.cnf 文件的信息,但我的页面和数据库托管在 ipage.com 上。

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

4

1 回答 1

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到数据库。

它会起作用。

于 2013-05-24T09:38:58.990 回答