数据库中字符显示不正确


Characters not displayed correctly in database

我正在开发我的应用程序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的db字符集,我得到了/*!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到数据库