如何从php中的unicode字符串中获取unicode字符

时间:2015-01-10 07:44:17

标签: php unicode

我想从unicode字符串中获取一个unicode chatacter。

例如: - $ str =“पर्वतनिर्माणोंमेंकोनसासंचलनकार्यकरताहै”; echo $ str [0];

输出是: -

但我希望在字符串的0索引处获得char'प'。

PLZ帮助我如何获得char'प'而不是 。

2 个答案:

答案 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

另见What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text