PHP:如何将特殊组合字符从UTF-8转换为拉丁语3
我正在尝试将数据从我的数据库(UTF-8)导出到CSV,CSV将在MS Excel(拉丁语3)上打开。因为我用的是PHP:如何将特殊组合字符从UTF-8转换为拉丁语3,php,character-encoding,utf8-decode,Php,Character Encoding,Utf8 Decode,我正在尝试将数据从我的数据库(UTF-8)导出到CSV,CSV将在MS Excel(拉丁语3)上打开。因为我用的是 $data[$keyLine][$keyField] = utf8_decode(html_entity_decode($curField, ENT_QUOTES, "UTF-8")); 问题是我的数据是法语的,包括cœur等词。导出的所有数据看起来都很好,除了合成字符œ,在那里我得到了一个问号(cœur转换为c?ur),我如何解决这个问题 提前谢谢。用这个 $data[$key
$data[$keyLine][$keyField] = utf8_decode(html_entity_decode($curField, ENT_QUOTES, "UTF-8"));
问题是我的数据是法语的,包括cœur等词。导出的所有数据看起来都很好,除了合成字符œ,在那里我得到了一个问号(cœur转换为c?ur),我如何解决这个问题
提前谢谢。用这个
$data[$keyLine][$keyField]=htmlspecialchars_解码(htmlentities(修剪(条纹斜杠($curField)),ENT_忽略,“UTF-8”,true))
多亏@RiggsFolly的提示,我成功地使用了
iconv
$data[$keyLine][$keyField] = iconv("UTF-8", "Windows-1252", html_entity_decode($curField, ENT_QUOTES, "UTF-8"));
Windows-1252是唯一有效的字符集,你。ISO-8859-15或16都不适用于我。只需检查该代码集即可。那个角色似乎不存在于那个场景中。然而,在ISO-8859-15
、ISO-8859-16
和Windows-1252