PHP: 如何将特殊组合字符从 UTF-8 转换为 Latin 3
PHP: How to convert special composed character from UTF-8 to Latin 3
我正在尝试将数据从我的数据库 (UTF-8) 导出到 CSV 文件,这将在 MS Excel (Latin 3) 上打开。为此,我正在使用
$data[$keyLine][$keyField] = utf8_decode(html_entity_decode($curField, ENT_QUOTES, "UTF-8"));
问题是我的数据是法语的,包括 coeur 等词。导出的所有数据看起来都很好,除了组合字符 œ,我在那里得到一个问号(coeur 转换为 c?ur), 我该如何解决这个问题?
提前致谢。
用这个....
$data[$keyLine][$keyField] = htmlspecialchars_decode(htmlentities(trim( stripslashes( $curField ) ), ENT_IGNORE, "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 都不适合我。
我正在尝试将数据从我的数据库 (UTF-8) 导出到 CSV 文件,这将在 MS Excel (Latin 3) 上打开。为此,我正在使用
$data[$keyLine][$keyField] = utf8_decode(html_entity_decode($curField, ENT_QUOTES, "UTF-8"));
问题是我的数据是法语的,包括 coeur 等词。导出的所有数据看起来都很好,除了组合字符 œ,我在那里得到一个问号(coeur 转换为 c?ur), 我该如何解决这个问题?
提前致谢。
用这个....
$data[$keyLine][$keyField] = htmlspecialchars_decode(htmlentities(trim( stripslashes( $curField ) ), ENT_IGNORE, "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 都不适合我。