我想从unicode字符串中获取一个unicode chatacter。
例如: - $ str =“पर्वतनिर्माणोंमेंकोनसासंचलनकार्यकरताहै”; echo $ str [0];
输出是: -
但我希望在字符串的0索引处获得char'प'。
PLZ帮助我如何获得char'प'而不是 。
答案 0 :(得分:5)
正如@deceze所写,你需要使用mb_substr
来获取一个字符,而不只是一个字节。此外,您需要使用mb_internal_encoding设置内部编码。假设您的.php文件的编码是UTF-8,则以下内容应该有效:
mb_internal_encoding('utf-8');
$str = "पर्वत निर्माणों में कोनसा संचलन कार्य करता है";
echo mb_substr($str, 0, 1);
答案 1 :(得分:1)
PHP的默认$str[x]
表示法在 bytes 上运行,因此您只是获取多字节字符的第一部分。要为整个字符提取整个编码感知字节序列,您需要使用mb_substr
。