首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PCRE编码支持

PCRE编码支持
EN

Stack Overflow用户
提问于 2011-07-12 02:33:13
回答 1查看 392关注 0票数 1

我在PCRE文档中看到PCRE支持UTF-8和Unicode通用类别属性,但我看不出它在哪里说支持本机编码。

如果你说支持ISO-8859-1:我在哪里能找到这方面的信息?

简单地说,

我比较和猜测PHP支持的编码是Windows1252,而不是ISO8859-1编码。

代码语言:javascript
复制
if(preg_match('/€/',"\x80"))
    echo "Match";

ISO-8859-1没有“欧元”这个位置。Windows-1252有。还是依赖于系统?

那么,本机编码PCRE是否支持?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-12 06:14:11

准确地说,此示例用于正则表达式. is来描述混合8位和unicode的困难。

混合Unicode和8位字符码

简而言之,欧元符号在所有windows代码页的80h上。您的regex引擎如何对待这一点可能会有所不同。当regex引擎为8位且文本文件使用的是windows代码页时,它可以工作。

如果regex引擎是纯unicode引擎,它将将\x80读取为\u 0080,这是一个控制代码。

那么,您对本机编码PCRE支持意味着什么呢?这是系统依赖的,您不应该依赖某些代码页。

unicode的优点是您可以消除所有不同的代码页以及由此产生的所有问题。

因此,要对此使用unicode,请尝试对\x{20AC}进行匹配,这是欧元符号的unicode代码点。

以下是关于关于unicode语法的正则表达式。的概述

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6658902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档