小编Pet*_*cký的帖子

PHP 中的编码转换(ISO-8859-1、UTF-8、CP1250)

我想处理来自 CSV 文件的数据,但我意识到字母显示不正确。我尝试了数百万种方法来转换编码,但没有任何效果。在 MacOS、PHP 7.4.4 上工作。

在执行fgets()fgetcsv()处理变量后,我会得到这个(示例中为 2 行/行)。

Kód ADM;Kód obce;Název obce;Kód MOMC;Název MOMC;Kód MOP;Název MOP;Kód èásti obce;Název èásti obce;Kód ulice;Název ulice;Typ SO;Èíslo domovní;Èíslo orientaèní;Znak èísla orientaèního;PSÈ;Souøadnice Y;Souøadnice X;Platí Od

1234;1234;HorniDolni;;;;;1234;HorniDolni;;;è.p.;2;;;748790401;4799.98;15893971.21;2013-12-01T00:00:00
Run Code Online (Sandbox Code Playgroud)

它或多或少是正确的捷克语,但字母?被取代è?被取代ø,它们都不是捷克语字母表的一部分。我有信心,文件中会有更多错位的字母。

执行file -I path/to/file我收到file: text/plain; charset=iso-8859-1这很伤心,因为就维基而言,这个字符集没有包含捷克语字母表。

以下命令都没有转换错位的字母: mb_convert_encoding($line, 'UTF-8', 'ISO8859-1') iconv('ISO-8859-1', 'UTF-8', $line) iconv('ISO8859-1', 'UTF-8', $line)

我注意到在ISO-8859-1 中,ø封信有一个代码00F8Windows-1250(包括捷克语 aplhabet)具有?带代码的正确字母,0159 …

php utf-8 iso-8859-1 cp1250

2
推荐指数
1
解决办法
1287
查看次数

标签 统计

cp1250 ×1

iso-8859-1 ×1

php ×1

utf-8 ×1