我在打印数组值时遇到麻烦,它们最初是用ISO-8859-1编码的,当它们回显时它们以“?”显示。那太烦人了!
我将字符集定义为ISO-8859-15
$lang = array();
$lang['HOMEPAGE'] = 'âéíó';
echo $lang['HOMEPAGE'];
result: ????
任何提示?
以前使用utf8_decode();但似乎没有解决我的问题。
编辑:
我很好,我为ISO-8859-15定义了字符集,但是我在html标题之前包含了带有“áúóá”字符的文件,因为cookie交互,尝试使用ob_start在主体上使用cookie但是错误仍然存在,使用header()函数定义charset并且运行良好,其他解决方案是:
echo iconv('ISO-8859-1', 'UTF-8', $lang['PARAGRAFO1']);
答案 0 :(得分:1)
这里有两种编码方式:
文字的编码,在本例中为源代码。
网页的编码。确保它也设置为ISO-8859-1。 将此元标记放在HTML文件的标题中以强制执行编码:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
答案 1 :(得分:0)
如果您想输出为UTF-8,我建议您在初始PHP脚本中添加
ini_set("default_charset", "UTF-8");
mb_internal_encoding("UTF-8");
当然,如果需要,您可以更改为其他字符。