Преобразование UTF-8 евро чар в другой евро

Так или иначе, в UTF-8 есть два разных символа. Правильное U+20AC и латинское 1 дополнение U+0080.

С помощью bin2hex Я получил гекс c280 вместо правильного e282ac, Поскольку первый не отображается правильно, я хотел бы преобразовать его.

Честно говоря, я не могу использовать utf8_decode() или же utf8_encode(), Я старался iconv('Windows-1252', 'UTF-8', $x) но это дает мне "€" потому что в Windows-1252 € стоит 80,

Какой правильный конвертер для этого?

1 ответ

Решение

Похоже, это работает, если я конвертирую из utf8_decode обратно в Windows-1252 и снова конвертирую в utf8, используя iconv:

iconv('Windows-1252', 'UTF-8', utf8_decode($x));

Я предполагаю, что строка изначально Windows-1252 и была преобразована в utf8_encode, что не работало для большинства, но не для всех символов.

Другие вопросы по тегам