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

时间:2019-11-12 19:49:23

标签: php string utf-8 iso-8859-1

我正在尝试将预先导入的字符串从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.

请帮助。

更新:

我正在将WordPress与UTF8字符集一起使用。当我将其更改为latin1时,它可以正常工作,但我想将其隐藏为UTF8

1 个答案:

答案 0 :(得分:1)

我在互动模式下尝试过。似乎要以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()进行修复。

相关问题