utf 8 — не удается декодировать HTML-сущность в переполнении стека

Я хочу эту строку:

"Hartnäckigkeit zahlt sich aus"

Преобразование в это:

Hartnäckigkeit zahl sich aus

Я попробовал это:

html_entity_decode( "Hartnäckigkeit zahlt sich aus", ENT_COMPAT, 'UTF-8')

Но не удалось.

1

Решение

Ваша зашифрованная строка кажется с самого начала отключенной и, возможно, где-то была создана путем ошибочного HTML-кодирования строки UTF-8 как ISO-8859-1:

Пример (исходный код в формате UTF-8):

echo htmlentities(
"Hartnäckigkeit zahlt sich aus", ENT_COMPAT, 'ISO-8859-1'
), PHP_EOL;

Выход:

Hartnäckigkeit zahlt sich aus

(такой же как Hartnäckigkeit zahlt sich aus)

Используйте это, чтобы декодировать это:

echo html_entity_decode(
"Hartnäckigkeit zahlt sich aus",
ENT_COMPAT,
'ISO-8859-1'
);

Выход:

Hartnäckigkeit zahlt sich aus
2

Другие решения

Я получил ваш вывод, делая это:

$test = "Hartnäckigkeit zahlt sich aus";
echo html_entity_decode($test, ENT_COMPAT, "UTF-8");

Ваши коды сущностей кажутся выключенными.

0

Вы можете использовать utf8_encode ($ data);

Подробнее о кодировании здесь

http://php.net/manual/en/function.utf8-encode.php

-1
По вопросам рекламы [email protected]