Php 欧洲';e和x301';ASCII码为101 204 129的字符
我对“é”这个角色有意见 使用Php 欧洲';e和x301';ASCII码为101 204 129的字符,php,regex,character-encoding,ord,Php,Regex,Character Encoding,Ord,我对“é”这个角色有意见 使用ftp\n列表($this->ftpStream$目录) 我有一个类似于'Parté.mp4'的字符串,但是'e'与regex[\p{L}]*\.mp4 这里有几个例子: 工作人员: 不这样做的人: 不工作的“é”的ASCII码是“101 204 129”。 功能ord($e)其中$e是奇怪的字符返回'101',它是简单字母e的代码 似乎我的“é”由三个字符组成,因为我必须做一个 $e=substr($fileName,4,3)以获取我的单个字符 我想能够授权
ftp\n列表($this->ftpStream$目录)代码>
我有一个类似于'Parté.mp4'的字符串,但是'e'与regex[\p{L}]*\.mp4
这里有几个例子:
- 工作人员:
- 不这样做的人:
不工作的“é”的ASCII码是“101 204 129”。
功能ord($e)
其中$e是奇怪的字符返回'101',它是简单字母e的代码
似乎我的“é”由三个字符组成,因为我必须做一个
$e=substr($fileName,4,3)代码>以获取我的单个字符
我想能够授权这些字符在我的正则表达式。。。
如果您有任何线索,谢谢。使用扩展unicode选项
\X*.mp4
下面是描述扩展unicode选项的示例
\X*.mp4
转义符与Unicode扩展的grapheme群集匹配。延长的
grapheme cluster是一个或多个Unicode字符,它们组合为
形成一个字形。实际上,这可以被认为是Unicode
相当于。因为它将匹配一个合成字符,而不考虑
实际使用了多少个单独的字符来渲染它
使用扩展unicode选项
\X*.mp4
下面是描述扩展unicode选项的示例
\X*.mp4
转义符与Unicode扩展的grapheme群集匹配。延长的
grapheme cluster是一个或多个Unicode字符,它们组合为
形成一个字形。实际上,这可以被认为是Unicode
相当于。因为它将匹配一个合成字符,而不考虑
实际使用了多少个单独的字符来渲染它
使用扩展unicode选项
\X*.mp4
下面是描述扩展unicode选项的示例
\X*.mp4
转义符与Unicode扩展的grapheme群集匹配。延长的
grapheme cluster是一个或多个Unicode字符,它们组合为
形成一个字形。实际上,这可以被认为是Unicode
相当于。因为它将匹配一个合成字符,而不考虑
实际使用了多少个单独的字符来渲染它
使用扩展unicode选项
\X*.mp4
下面是描述扩展unicode选项的示例
\X*.mp4
转义符与Unicode扩展的grapheme群集匹配。延长的
grapheme cluster是一个或多个Unicode字符,它们组合为
形成一个字形。实际上,这可以被认为是Unicode
相当于。因为它将匹配一个合成字符,而不考虑
实际使用了多少个单独的字符来渲染它
当你说“不工作的‘é’的ASCII码是‘101 204 129’”时,你的意思可能是字节是十进制的数字。(它们不是ASCII码:它们不能根据ASCII进行解释,此外,ASCII以127位十进制结束。)在十六进制中,这意味着65 CC 81。这是基本拉丁字母“e”U+0065后跟U+0301的正确UTF-8表示形式,并结合了锐重音。这又是“é”的正确分解表示
因此,首先需要解决字符编码问题。您不应该处理字符的UTF-8字节,而应该处理字符本身。您可能需要修改读取数据的例程,或者修复数据本身(如果数据已被屏蔽)
如果已正确读取UTF-8数据,则组合急性重音仍然是匹配的问题,因为它不是字母。您可能需要将数据转换为规范化形式C,这将两个字符的组合转换为字母“é”。当您说“不起作用的‘é’的ASCII码是‘101 204 129’”时,您的意思可能是字节是十进制数。(它们不是ASCII码:它们不能根据ASCII进行解释,此外,ASCII以127位十进制结束。)在十六进制中,这意味着65 CC 81。这是基本拉丁字母“e”U+0065后跟U+0301的正确UTF-8表示形式,并结合了锐重音。这又是“é”的正确分解表示
因此,首先需要解决字符编码问题。您不应该处理字符的UTF-8字节,而应该处理字符本身。您可能需要修改读取数据的例程,或者修复数据本身(如果数据已被屏蔽)
如果已正确读取UTF-8数据,则组合急性重音仍然是匹配的问题,因为它不是字母。您可能需要将数据转换为规范化形式C,这将两个字符的组合转换为字母“é”。当您说“不起作用的‘é’的ASCII码是‘101 204 129’”时,您的意思可能是字节是十进制数。(它们不是ASCII码:它们不能根据ASCII进行解释,此外,ASCII以127位十进制结束。)在十六进制中,这意味着65 CC 81。这是基本拉丁字母“e”U+0065后跟U+0301的正确UTF-8表示形式,并结合了锐重音。这又是“é”的正确分解表示
因此,首先需要解决字符编码问题。您不应该处理字符的UTF-8字节,而应该处理字符本身。您可能需要修改读取数据的例程,或者修复数据本身(如果数据已被屏蔽)
如果已正确读取UTF-8数据,则组合急性重音仍然是匹配的问题,因为它不是字母。您可能需要将数据转换为规范化形式C,这将两个字符的组合转换为字母“é”。当您说“不起作用的‘é’的ASCII码是‘101 204 129’”时,您的意思可能是字节是十进制数。(它们不是ASCII码:它们不在