草庐IT

PHP:UTF8 中西里尔字符串的不区分大小写的 preg_replace

我有aPHP5.3script显示我网站的用户并想用它的旧名称替换某个俄罗斯城市(存储在PostgreSQL8.4.7数据库中的UTF8+CentOS5.5/64位Linux)(这是一个内部笑话):preg_replace('/Волгоград/iu','Сталинград',$city);不幸的是,这仅适用于完全匹配:Волгоград。这不适用于其他情况,例如ВОЛΓОΓРАД或волгоград。如果我将源代码修改为preg_replace('/[Вв]олгоград/iu','Сталинград',$city);然后它会捕获上面的第二种情况。有谁知道这是怎么回事以及如何

php - 从文件加载 HTML 时保留 utf8

显然,PHP及其标准库存在一些问题,DOMDocument也不异常(exception)。utf8有变通办法加载HTML字符串时的字符-$dom->loadHTML().显然,从文件加载HTML时,我还没有找到执行此操作的方法-$dom->loadHTMLFile().当它从读取并设置编码时标签,如果我没有定义它们,问题又来了。例如,当加载HTML片段(模板部分,如footer.html)时,而不是完整构建的HTML文档。那么,我如何保留utf8字符,当从文件加载HTML时,还没有得到它的键存在,并且定义这些不是一个选项?更新footer.html(该文件以无BOM的UTF-8编码):

php - 不应静态调用非静态方法 utf_normalizer::nfc()

目前,我正在安装PHPBB3.0.10并遇到此错误:严格标准:非静态方法utf_normalizer::nfc()不应在C:\xampp\htdocs\PHPBB\includes\utf\utf_tools.php1781行静态调用我试图在PHPBB论坛上找到这个问题的答案,但没有成功。我有一点PHP背景,但不了解来自动态函数的静态函数调用。我正在使用PHPv5.4.4、Apache2.4.2和Xampp1.8.0,如果其中任何一个相关的话。我也在我的本地主机上运行它,而不是在远程服务器上。为了引起这个错误,我所做的就是安装PHPBB。一旦我插入了数据库设置和管理员帐户设置,它就会出

php - 奇怪的UTF8字符串比较

我在UTF8字符串比较方面遇到了这个问题,我真的不知道这个问题,它开始让我头疼。请帮帮我。基本上我从一个以UTF8编码的xml文档中得到这个字符串:'MinaTidigareanställningar'当我将该字符串与我自己键入的完全相同的字符串进行比较时:'MinaTidigareanställningar'(也是UTF8格式)。结果是假的!!!我不知道为什么。太奇怪了。有人可以帮我吗? 最佳答案 Thisseemssomewhatrelevant.为简化起见,有几种方法可以用Unicode(以及UTF8)获得相同的文本:例如,这

PHP:如何创建编码为 "UTF-8 without BOM"的文件

我猜,你们大多数人都知道我们有以下文件编码:美国标准UTF-8通过在文件开头添加三个字符来识别UTF-8,但如您所知,这些字符会在PHP语言中造成一些麻烦所以我们使用没有BOM的UTF-8(而不是UTF-8)这是我的问题:我们如何使用frwite()或任何其他函数(无关紧要)编写一个编码为(UTF-8无BOM)的新文件(使用PHP)(我不是在询问编辑器设置>我是在询问有关使用php函数创建文件的问题) 最佳答案 恐怕您在问题中错误地陈述了UTF-8和ANSI。UTF-8不需要在开头有BOM。没有像“UTF-8withoutBOM”编

php - Smarty:特殊字符被更改为不需要的 - utf8

这个问题在这里已经有了答案:UTF-8allthewaythrough(13个答案)关闭5年前。我有带特殊字符的数据(法国重音符号)。当我使用php脚本进行选择并输出(打印)时,它看起来不错。当我传递给Smarty时,角色会发生变化。我的html有以下设置:metahttp-equiv="content-type"content="text/html;charset=utf-8"不确定缺少什么或不正确?爷爷,帕特里克

php - 如何在 Ubuntu 16.04 上安装 php-xml?

我在Ubuntu16.04上安装了php7.0,我正在尝试在apache2中安装一个论坛软件,但出现以下错误:Inordertofunctioncorrectly,thePHPXML/DOMextensionneedstobeavailable.我试着执行sudoapt-getinstallphp-xmlsudoapt-getinstallphp7.0-xml但是这些给了我以下错误:php-xml:Depends:php7.1-xmlbutitisnotgoingtobeinstalled当我尝试从PPA安装php7.1时,我仍然遇到来自其他PHP模块的依赖性问题。关于如何在没有任何依

php - Yii 1.1.16 - renderPartial() 在输出开始处添加一个空格

是我,还是renderPartial()在其输出前添加一个额外的空间?我所有的renderPartial()似乎都是这样做的的。render()对我来说效果很好,不会增加额外的空间。这是我的示例代码。尝试生成RSS,但由于多余的空间而出错publicfunctionactionFeed(){Yii::import('site.common.extensions.feed.*');$model=newABC();$this->renderPartial('feed',array('model'=>$model->findAll()));}这里是生成的html前面有个空格如果我清空我的fe

php - excel-reader utf问题

你能帮我解决下面写的问题吗:当我读取xls文件并将其转换为csv时,出现错误iconv()[function.iconv]:在输入字符串中检测到非法字符。我正在使用php-excel-library我得到了这个错误:case'iconv':$result=iconv('UTF-16LE',$this->_defaultEncoding,$string);break;有人知道怎么解决吗? 最佳答案 这意味着在您的文件中是一个无法映射到字符的位序列,b/c它没有意义,因此不会被转换为另一种编码。按照描述使用//IGNORE-flaghe

php - 如何在 PHP 字符串比较中模拟 MySQLs utf8_general_ci 排序规则

基本上,如果两个字符串在我的数据库中的计算结果相同,我还希望能够在应用程序级别进行检查。例如,如果有人在搜索字段中输入“bjork”,我希望PHP能够像MySQL一样将其与字符串“Björk”匹配。我猜PHP没有直接等同于MySQL的整理选项,最简单的做法是编写一个简单的函数来转换字符串,使用strtolower()使它们统一小写和strstr()将多字节字符替换为其相应的ASCII等效字符。这是一个准确的假设吗?有没有人有一个万无一失的数组可以方便地用作strstr()的第二个参数,用于符合各种MySQL排序规则的字符串(特别是为了我当前的需要,utf8_general_ci)?或者