PHP中的ISO-8859-1到UTF-8字符集转换
我必须从一个数据库导入数据,其中使用的字符编码是ISO-8859-1,我们使用的新站点使用UTF-8。从中提取数据的站点是旧的,因此我认为它仍然在ISO中 我尝试了以下解决方案,但没有结果: iconv 然而,在它发表了一篇 2008年3月提出的规则将 政府已经完全禁止了这些物品 邮政部门收到了许多邮件 反对其计划行动的评论 主要有四个原因:(1)经济衰退 最初的语言含糊不清,过于夸张 广泛,因此邮政服务 将“弹药”一词改为 爆炸装置,一些 被调查者质疑,这样的结果是否正确 问题甚至存在,尽管 邮政服务部门说它已经记录了 涉及该公司的多起事件 发现的邮件显示 可能的特征 炸药——拟议规则(3) 据说违反了第二条 修订,以及(4)邮政服务 缺乏禁止邮寄的权力 这类物品的数量 到 然而,在它发表了一篇 2008年3月提出的规则将 政府已经完全禁止了这些物品 邮政部门收到了许多邮件 反对其计划行动的评论 主要有四个原因:(1)经济衰退 最初的语言含糊不清,过于夸张 广泛,因此邮政服务 更改了“弹药”一词 至爆炸装置(2) 一些受访者质疑 然而,这样的问题甚至存在 邮政部门说它已经 Ãœœ记录了许多事件 涉及发现 表现出可能的特征 炸药(3)拟议规则 据说违反了第二条 修订,以及(4)邮政服务 缺乏禁止邮寄的权力 这类物品的数量 mb\u转换\u编码 与上面相同的精确结果 utf8\u编码 与上面相同的精确结果 utf8\u解码 用所有的?替换: 然而,在它发表了一篇 2008年3月提出的规则将 政府已经完全禁止了这些物品 邮政部门收到了许多邮件 反对其计划行动的评论 主要有四个原因:(1)经济衰退 最初的语言含糊不清,过于夸张 广泛,因此邮政服务 换了个词?军火?到 ?爆炸装置,?(2) 一些 被调查者质疑,这样的结果是否正确 问题甚至存在,尽管 邮政局说有记录 涉及该公司的多起事件 发现的邮件显示 可能的特征 炸药,?(3) 拟议规则 据说违反了第二条 修订,以及(4)邮政服务 缺乏禁止邮寄的权力 这类物品的数量PHP中的ISO-8859-1到UTF-8字符集转换,php,utf-8,character-encoding,Php,Utf 8,Character Encoding,我必须从一个数据库导入数据,其中使用的字符编码是ISO-8859-1,我们使用的新站点使用UTF-8。从中提取数据的站点是旧的,因此我认为它仍然在ISO中 我尝试了以下解决方案,但没有结果: iconv 然而,在它发表了一篇 2008年3月提出的规则将 政府已经完全禁止了这些物品 邮政部门收到了许多邮件 反对其计划行动的评论 主要有四个原因:(1)经济衰退 最初的语言含糊不清,过于夸张 广泛,因此邮政服务 将“弹药”一词改为 爆炸装置,一些 被调查者质疑,这样的结果是否正确 问题甚至存在,尽管
不太清楚在这里该做什么 任何帮助都将不胜感激
谢谢 那不是ISO 8859-1,那是Windows代码页1252:
>>> a=u'“'
>>> print a.encode('cp1252').decode('utf-8')
“
>>>
你必须非常彻底地处理这件事。在数据库和web浏览器之间,有许多地方的编码可能会被弄脏
- 数据库服务器的字符集和排序规则字符集
- 数据库的字符集和排序规则字符集
- 数据库的连接和排序规则字符集
- 每个数据库表的字符集和排序规则字符集
- 在各种PHP函数中(如htmlentities)
- HTTP内容类型
select @@character_set_server
, @@collation_server
, @@character_set_database
, @@collation_database
, @@character_set_client
, @@character_set_connection
, @@collation_connection
, @@character_set_results
;
检查表中的CREATE语句以获取该信息(如果需要帮助,可以将其复制/粘贴到问题中)
要解决HTTP内容类型(即,输出字符编码),请确保在输出之前的某个地方在PHP中有此内容
ini_set( 'default_charset', 'UTF-8' );
最后,如果这没有帮助,请给我们更多的细节。您在iconv中使用了哪些参数?您给我的查询结果如下: 拉丁语拉丁语瑞典语ci
拉丁语拉丁语瑞典语ci
拉丁语1拉丁语1
拉丁语和瑞典语 拉丁语1 至于PHP文件开头的默认字符集,它适用于某些数据,但不是所有数据
不管怎样,还是在这里查看。有时您必须为iconv指定正确的参数。你能说得更具体一点吗?从MySQL到PostgreSQL也有类似的问题,因为ISO-8859-1文本中存在UTF-8字符(由于复制了粘贴)。你是否声明以UTF-8编码的形式发送输出?工作完美——ini_集('default_charset','UTF-8');谢谢你,先生!