如何在 PHP 中从 Unicode 字符串中获取 Unicode 字符


how to get unicode character from a unicode string in php

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

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

输出为:-

但是我想在字符串的 0 索引处获取字符"प"。

请帮助我如何获得字符"प"而不是.

正如@deceze所写,你需要使用mb_substr来获取一个字符,而不仅仅是一个字节。此外,您需要使用 mb_internal_encoding 设置内部编码。假设.php文件的编码是 UTF-8,则以下内容应该有效:

  mb_internal_encoding('utf-8');
  $str = "पर्वत निर्माणों में कोनसा संचलन कार्य करता है"; 
  echo mb_substr($str, 0, 1);

PHP的默认$str[x]表示法对字节进行操作,因此您只是获得多字节字符的第一部分。要提取整个编码感知字节序列的整个字符,您需要使用 mb_substr

另请参阅每个程序员绝对需要了解的有关编码和字符集以处理文本的信息。