【发布时间】:2016-11-13 10:38:46
【问题描述】:
我有一个字符串,我想访问ä 字符。但它输出的是问号而不是正确的字符。
这是我的代码。
$array = array('ä', 'b', 'c');
$string = 'äbc';
echo $string; // äbc
echo '<br />';
echo $string[0]; // ?
echo '<br />';
echo $array[0]; // ä
谁能告诉我为什么?
更新
echo strlen($string); // returns 4
echo mb_substr($string, 0, 1); // ä
【问题讨论】:
-
我认为这与字符编码有关,如果您将
ä替换为x它会按预期工作。 -
@Celeritas
$array[0]返回正确的值。 -
这实际上是这个问题的重复,虽然很难说stackoverflow.com/questions/13508937/…
-
@Celeritas: 问题已被编辑...而且
string[0]无论如何都不能单独处理多字节字符... -
肯定有 dunning-kruger...