PHP数组密钥编码?

CNB*_*orn 5 php arrays

我使用编码的字符串作为数组中的键,并使用相同的字符串作为数组中的值,如下面的代码所示:

$string = 'something in some encode';
$list = array();
$list[$string]['name'] = $string;
Run Code Online (Sandbox Code Playgroud)

当我的print_r阵列出来(只是不print_r的页眉/编码特异性的),发现该阵列中的密钥和它的"名称"的值不为打印为相同的字符串,它似乎有不同的编码.

我是用汉字做的.在php.ini中我没有特定的编码行(不知道它是否与此有关).

在Array键中有什么关于字符串编码的吗?或者只是我以错误的方式得到它们?谢谢你的帮助.

lep*_*epe 6

我用日语试过(我可以测试):

$test["?"]["name"] = "?";
print_r($test);
Run Code Online (Sandbox Code Playgroud)

结果很顺利,正如预期的那样。我对所有内容都使用 UTF-8。我不确定您的编码设置(在 php.ini 中)或您使用的编码是否有问题。如果这是一个问题,为什么不尝试使用 base64 对其进行编码?(或其他 Ascii 编码器)。那样会是这样的:

$test["6KaB"]["name"] = "?";
Run Code Online (Sandbox Code Playgroud)

我不确定你的目标是什么,所以让我知道它是否有用。