将字符串从 ISO-8859-1 转换为 UTF8

Converting string from ISO-8859-1 to UTF8

我正在尝试将预导入的字符串从 ISO-8859-1 转换为 UTF8。我正在尝试所有可用的解决方案,但似乎没有任何效果。

示例:

$text = "<p>Ayurveda ist die &Atilde;&curren;lteste Lebens- und Gesundheitslehre der Welt. Sie ist in einer Hochkultur auf dem Gebiet des heutigen Indien entstanden und ihre Prinzipien sind universell g&Atilde;&frac14;ltig.
</p>";

echo iconv('ISO-8859-1', "UTF-8//IGNORE", $text); // not working.

echo utf8_encode($text); // not working.

输出应该是:

Ayurveda ist die älteste Lebens- und Gesundheitslehre der Welt. Sie ist in einer Hochkultur auf dem Gebiet des heutigen Indien entstanden und ihre Prinzipien sind universell gültig.

请帮忙。

更新:

我正在使用带有 UTF8 字符集的 WordPress。当我将其更改为 latin1 时,它工作正常但我想将它们转换为 UTF8

我在交互模式下试过了。您的文本似乎以 UTF-8 编码:

$ php -a
Interactive mode enabled

php > $text = "<p>Ayurveda ist die &Atilde;&curren;lteste Lebens- und Gesundheitslehre der Welt. Sie ist in einer Hochkultur auf dem Gebiet des heutigen Indien entstanden und ihre Prinzipien sind universell g&Atilde;&frac14;ltig.
php " </p>";
php > echo utf8_encode(html_entity_decode($text));
<p>Ayurveda ist die älteste Lebens- und Gesundheitslehre der Welt. Sie ist in einer Hochkultur auf dem Gebiet des heutigen Indien entstanden und ihre Prinzipien sind universell gültig.
</p>
php > echo utf8_decode(html_entity_decode($text));
<p>Ayurveda ist die älteste Lebens- und Gesundheitslehre der Welt. Sie ist in einer Hochkultur auf dem Gebiet des heutigen Indien entstanden und ihre Prinzipien sind universell gültig.
</p>
php > 

您可以尝试在您的环境中按上述方式使用。如果加载页面时问题仍然存在,您可以尝试 iconv() 修复它。