导出为CSV CP1252 West编码法式重音字符不转换

时间:2019-03-05 15:53:25

标签: php mysql encoding

我正在从我的电子商务商店中导出客户名称(和街道地址),并且我们有许多法国客户名称,这导致导出到CSV时出现了一些问题。我以为我已经通过使用utf8_decode()修复了它,如下所示:

echo utf8_decode($row['billing_name']) . ",";

$ row ['billing_name']来自mysqli数据库查询的一个while循环。

但是例如,StéphanePerry导出为:csv文件中的St√©phane Perry

我检查了数据库,并在客户字段上设置的编码是CP1252 West,我认为这是考虑法国口音的,所以我不希望自己搞乱那里的编码,我希望可以进行修复在导出过程中使用。

1 个答案:

答案 0 :(得分:0)

不要使用任何编码/解码例程。他们可能只会使事情变得更糟。我认为这是这里发生的事情的一部分。

é,在进行mojibaked后变成é。但是,我找不到√©的路径。您是否还有另一个示例(涉及不同的字母)?在哪里指定“ CP1252 West”? (这不是MySQL字符集。)

请提供

SELECT col, HEX(col) FROM ...

显示某些文本的内部编码。我们还需要确定问题是在INSERT期间还是在SELECT期间(或同时发生)发生。并提供SHOW CREATE TABLE,以便我们可以看到数据类型。