Проблема кодирования ISO-8859-1 — UTF-8

Я пытаюсь заменить строку, которая не имеет любые иностранные символы в нем со строкой, которая имеет внешние ключи в нем.

Если я делаю, как я показываю в следующем коде:

$str= str_replace($original, utf8_encode($replace), $str);

или же

$str= utf8_encode(str_replace($original, $replace, $str));

я получил Fà © dà © Рацион за Fédération

Есть идеи, как заставить str_replace или preg_replace работать в этой ситуации?

-2

Решение

Эта проблема возникает из-за того, что вы utf8_encoding строки, которая уже в формате UTF-8.

Попробуйте использовать это:

$str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));

Это найдет текущий формат строки и закодирует его правильно.

PS: таким образом вы не сможете получить ошибку в строке, тогда вы сможете правильно использовать str_replace.

0

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

Других решений пока нет …

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