我希望能够检测(使用正则表达式)字符串是否包含php编程语言中的utf8和iso8859-8希伯来字符。谢谢! 最佳答案 这是mapoftheiso8859-8characterset.E0-FA范围似乎是为希伯来语保留的。您可以检查字符类中的那些字符:[\xE0-\xFA]对于UTF-8,rangereservedforHebrew似乎是0591到05F4。所以你可以检测到:[\u0591-\u05F4]这是PHP中的正则表达式匹配示例:echopreg_match("/[\u0591-\u05F4]/",$string);
我已经为此苦苦挣扎了一段时间。我有一个多语言网络应用程序,它会在某个时候输出XML。此XML可以包含任何语言,因此我的清理方法是禁止插入破坏XML的某些字符。那并尽可能多地包装在CDATA中,但我在属性中有大量内容。我不想禁止使用特殊字符,因为括号、句点、破折号、刻度和撇号等完全有效的字符一直在使用并且它们有效。去除所有会破坏XML属性但保持语言完好无损的字符的最佳方法是什么?更新:我发现:http://en.wikipedia.org/wiki/CDATA#CDATA-type_attribute_value,这向我表明我可以使用DTD将属性描述为CDATA部分;然而,这似乎不是真的
我用的是php内部邮件函数发邮件,我把它包在一个UTF8进程的函数里,我在网上找的。它有效,我将代码中的电子邮件发送到我的GMAIL和我的EXCHANGE服务器,无论是在GMAIL还是我的PC上的Outlook客户端中,我都能正确地收到消息。我的iPhone也连接到exchange和GMAIL帐户,所以我在iPhone上收到了这两条消息。iPhone正确接收GMAIL消息,但EXCHANGE帐户显示的消息带有乱码,其中没有拉丁字符。下面的示例在主题和正文中发送希伯来语字符。在我的iPhone上,主题以希伯来语正确接收,但消息正文中的希伯来语部分出现乱码。有人可以对此发表评论吗?也许在您
各位!FreeBSD新手正在寻找有关PCRE和Apache与mod_php集成的帮助。我有什么:FreeBSD8.2-RELEASE-p3Apache/2.2.22(FreeBSD,基于ports构建)带有Suhosin-Patch(cli)的PHP5.3.10(内置:2012年4月6日02:58:27)(不是来自端口)PCRE版本8.302012-02-04Compiledwith8-bitsupportonlyUTF-8supportUnicodepropertiessupportNojust-in-timecompilersupportNewlinesequenceisLF\Rm
这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:FlattenFDF/XFDFformstoPDFinPHPwithutf-8characters我正在使用pdftk用来自fdf的数据填充模板pdf。数据具有正确的utf-8字符,但是当我使用fill_form时,生成的pdf文件存在格式错误。(我不使用flatten)我在处理š、đ、č、ć、ž.谢谢。更新我的解决方案最后,我放弃了pdftk,我最终使用了fpfd,更准确地说,我使用了this脚本。我在这里也有几个问题,与pdf文件有关。但是我使用pdftk修复了那个pdf(正如脚本本身所建议的那样),最后它
setlocale(LC_CTYPE,"de_DE.UTF8")或setlocale(LC_CTYPE,"de_DE.UTF-8")带破折号还是不带破折号?我在答案中都看到了。 最佳答案 我会运行locale-a并使用它输出的字符串。在OSX10.9上,我得到de_DE.UTF-8。在Debian6上,我得到de_DE.utf8。dpkg-reconfigurelocales另一方面使用de_DE.UTF-8。最安全的方法可能是检查setlocale的返回值,如果失败则尝试不同的变体。也就是说,所有版本通常都应该可以工作:带或不带破
关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭2年前。Improvethisquestion非常简单:utf8_encode($string)将常规空格替换为不间断空格("\u00a0")。我尝试使用str_replace过滤结果:str_replace("\u00a0","",utf8_encode($string))但这并没有解决问题。编辑
我对mssql的数据库查询有一个恼人的问题。如果结果包含特殊字符,例如德语“ä”,我将无法使用json_encode将结果正确获取为json。json_last_error返回5等于JSON_ERROR_UTF8。我猜数据库不会返回编码为UTF-8的值。数据库集合是*Latin1_General_CI_AS*,受影响的列是varchars。phpmssql.charset配置无效。我读到mysql用户可以使用mysql_query('SETCHARACTERSETutf8');正确编码返回值。我该怎么做才能正确获取mssql的值?提示-我无法更改数据库中的任何内容。
我一直在阅读一些解决方案,但还没有设法让任何东西发挥作用。我有一个从API调用中读入的JSON字符串,它包含Unicode字符-\u00c2\u00a3例如是£符号。我想使用PHP将它们转换为£或£。我正在调查问题并发现了以下代码(使用我的井号进行测试)但它似乎没有工作:$title=preg_replace("/\\\\u([a-f0-9]{4})/e","iconv('UCS-4LE','UTF-8',pack('V',hexdec('U$1')))",'\u00c2\u00a3');输出为£。我认为这是UTF-16编码是否正确?我如何将它们转换为HTML输出?更新似乎来自API的
所以我遇到了一个问题,我相信正在发生的事情是我正在接收使用一些unicode空间和一些ascii空间的数据,这样看起来相同的某些字符串并不等同,例如,“waterresistant”!=“防水”。然而,这些字符串在我的数据库中的显示方式有所不同,它们带有多字节字符时通常会看到的奇怪字符:“waterÂresistant”和“waterresistant”。我想要一种使所有空格都成为ascii空格的方法,或者如果更简单的话,所有空格都是多字节空格。我尝试过使用preg_replace,但随后字符串不再像有效的多字节字符串一样读取。(字符串中的多字节字符将显示为垃圾)。preg_repl