问题描述
|
我在打印数组值时遇到麻烦,它们最初是用ISO-8859-1编码的,而在回显时,它们用\“?\”出现。真烦人!
我已将字符集定义为ISO-8859-15
$lang = array();
$lang[\'HOMEPAGE\'] = \'âéíó\';
echo $lang[\'HOMEPAGE\'];
result: ????
有什么提示吗?
它曾经使用utf8_decode()来工作。但似乎并不能解决我的问题。
编辑:
我很好,我为ISO-8859-15定义了字符集,但是由于cookie交互,我在html标头之前包含了带有“áúóá\”字符的文件,试图使用ob_start在主体上使用cookie,但是错误仍然存在,使用header()函数定义了字符集并且运行良好,其他解决方案是:
echo iconv(\'ISO-8859-1\',\'UTF-8\',$lang[\'ParaGRAFO1\']);
解决方法
这里有两种编码方式:
文本的编码,在这种情况下为源代码。
网页的编码。确保也将其设置为ISO-8859-1。
将此meta标签放在HTML文件的标题中以实施编码:
<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=ISO-8859-1\">
, 如果要输出为UTF-8,建议您将其添加到初始php脚本中
ini_set(\"default_charset\",\"UTF-8\");
mb_internal_encoding(\"UTF-8\");
当然,如果需要,您可以更改为其他字符。