在php中编码发布信息并将其存储在DB中

时间:2013-05-09 21:31:22

标签: php mysql codeigniter character-encoding

所以我在将信息存储在数据库中时遇到了这个问题。我刚刚插入了原始帖子数据,像“Automātiskā”(拉脱维亚语)这样的单词看起来像“Autom?tisk?”。然后我编码了我的所有数据:

 $data = array(
'marka' => utf8_encode($this->input->post('marka')), etc

(使用CodeIgniter开发)

现在“Automātiskā”看起来像“AutomÄtiskÄ”和“Benzīns”,如:“BenzÄ«ns”等。

我已经尝试过其他一些事情,例如添加php标头,但没有结果,只是错误。

我对所有这些编码内容感到困惑,并希望了解将我的拉脱维亚字符放入数据库的最简单方法(我需要添加哪些代码行)。我搜索的所有信息让我的思绪更加混乱。

另外,我是否需要将数据库“Collat​​ion”字段设置为UTF8_latvian_ci或UTF8_unicode_ci,因为默认情况下我有latin1_swedish_ci。

以后我还需要在我的页面中显示该信息。我需要再做一些解码吗?我也想听听。

谢谢!

1 个答案:

答案 0 :(得分:0)

确保在php中使用正确的(utf-8)标题,并在utf-8中使用你的数据库,你应该没问题。

header('Content-Type: text/html; charset=utf-8');

对于您的数据库,我建议:utf8_general_ci