我有一个脚本,将一些西里尔文本放入会话变量中,如下所示:$_SESSION['cyrillic'][$y]
其中$ y是一个迭代器,所以最后数组看起来像这样:使用数字键在多维数组中不显示UTF-8
[cyrillic] => Array
(
[0] => ������
[1] => ��������
[2] => ������
[3] => ������
然而,在这两个PHP,HTML UTF-8头和文件挣扎后保存字符集(有或没有BOM),我发现那里是没有错的字符集设置(显然)在WILL WORK中用西里尔语文本设置任何其他会话变量。
这意味着:$_SESSION['cyr']['txt'] = $cyrillic_string_here;
会工作得很好,如下所示:
[cyr] => Array ( [txt] => десять )
所以,我不明白的话,就是用数字键为什么我不能插入西里尔到一个数组,但是按字母顺序排列?当我需要使用迭代循环时,我该如何解决这个问题?
编辑:这不是。我可以将相同的文本插入到另一个变量中并进行回显,或者使用不带数字键值的会话变量,它可以正常工作。
编辑:我也发现了这一点:
*将难以找到文档句话我很担心是:“$ _SESSION关联数组中的键都受到同样的限制,如常规的变量名PHP。“*
但我想我可以用这样的数值来创建一个数组:$ array [$ i]?或者这是否意味着因为关键是ASSOC $ array ['text'] [$ i]不起作用?
我也看不到第一个块上的字符。您确定在编码使用UTF-8编码时,是否在文本编辑器中编写了它们? – 2011-06-05 14:32:31
这对数组或数字键完全没有帮助。这个问题必须发生在别的地方,很可能是错误的数据库连接,头文件等字符集。 – Wrikken 2011-06-05 14:37:39
输出意味着你的数据不是UTF-8编码。 – Gumbo 2011-06-05 14:38:17