全球utf8_encode

时间:2010-09-10 20:43:41

标签: php

有没有办法在全球范围内应用utf8_encode?我试图让整个页面正确加载不同的语言,而不必在每个变量之前插入utf8_encode。

 echo '<p>'.utf8_encode($LANG_CALL_TO_ACTION).'</p>'

2 个答案:

答案 0 :(得分:1)

您必须经常使用utf8_encode这可能是架构问题的症状。

utf8_encode是一个将iso-8859-1编码数据转换为UTF-8的函数。

在现代设置中,您根本不需要使用它:传入的数据已经是UTF-8编码的。

如果不是,如果数据来自传统的ISO-8859-1数据库(完全没问题),则应使用适当的输出编码而不是UTF-8(即在这种情况下为ISO-8859-1) )。

如果真的非常非常必要,也可以全局转换数据,但是就此提供任何建议,我们需要了解更多关于您的设置的信息。这也许是一个坏主意。

答案 1 :(得分:1)

您可能没有。 utf8_encode()用于将ISO-8859-1字符串转换为UTF8编码字符串 - 如果您的数据已经是UTF-8并且您只是出现显示问题,那就不好了。

在我看来,你所要的是确保所有内容都正确显示为UTF-8,您只需要设置正确的HTTP标头。

我这样做的首选方法是

ini_set( 'default_charset', 'UTF-8' );