我遇到了从codeigniter存储到mysql中的数据的问题。根据谷歌的一些主题,我将表格字符集从“拉丁”改为“utf8”,并将整理改为“utf8_unicode_ci”。
在我的数据库设置中设置了utf8,并且我在所有页面的标题部分中都将字符集设置为utf8。但我仍然无法插入数据。
我的查询
"INSERT INTO `cib_import` (`company_id`, `partner_id`, `field`, `value`, `client_type`, `service_type`, `status`, `created_date`, `updated_date`, `error`, `flag`) VALUES ('5006', '314', 'client_name', 'CAFÉ de Limited', '1', '4', 0, '2014-08-28 12:12:54', '2014-08-28 12:12:54', 0, 184)"
此堆栈溢出的一些帖子称é是ISO-8859-15。我是否必须再次更改表格字符集?
我确实更改了codeigniter中的设置。实际上“CAFÉdeLimited”采用“ISO-8859-1”编码。我尝试使用以下代码将字符串从“ISO-8859-1”更改为“UTF-8”。
mb_convert_encoding($string, "UTF-8", mb_detect_encoding($string, "UTF-8, ISO-8859-1, ISO-8859-15", true));
但是角色“É”被转换为“É”。 stackoverflow如何改变字符编码?在这篇文章中,我写了“É”,stackoverflow设法保存角色,并能够返回相同的角色。