用php编码post信息并将其存储在数据库中

用php编码post信息并将其存储在数据库中,php,mysql,codeigniter,character-encoding,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Ä«

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

 $data = array(
'marka' => utf8_encode($this->input->post('marka')), etc
(使用CodeIgniter开发)

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

我尝试了其他一些方法,比如添加php头,但没有结果,只是出现了错误

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

另外,我是否需要将数据库“Collation”字段设置为UTF8_拉脱维亚_ci或UTF8_unicode_ci,因为默认情况下我有拉丁语1_瑞典_ci

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


谢谢

确保在php中使用正确的(utf-8)头文件,并且在utf-8中使用db,这样就可以了

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

对于您的数据库,我建议:
utf8\u general\u ci

我想这是用于从数据库输出信息的。。。我稍后再试试。