草庐IT

ensure_ascii

全部标签

php - 转储非 ASCII 字符时 DOMDocument 行为不一致的解释是什么?

我注意到在使用PHP的DOMDocument时有不同的“转储”行为的saveXML()和saveHTML()方法。下面是一个简单的转储版权符号(©)的例子。$domDoc=newDOMDocument();$domDoc->loadHTML("©");echo$domDoc->saveHTML();echo$domDoc->saveXML();echo$domDoc->saveXML($domDoc);?>三个转储产生三个不同的输出:第一个输出字符串©第二个输出字符实体©第三个输出版权符号的UTF82字节代码(U+00A9)为什么输出不同?有没有一种方法可

c# - 在 PHP 中实现阿特伍德的装备我们的 ASCII 盔甲

我正在尝试用PHP实现类似于JeffAtwood的东西EquippingourASCIIarmor.这是C#ImplementationofASCII85.这是PHPImplementationofASCII85以下是我如何将字符串转换为字节数组:$byteArr=str_split($uid);foreach($byteArras$key=>$val){$byteArr[$key]=ord($val);}还有什么?现在:)如何使用ASCII85编码这个字节数组以获得更短的UID? 最佳答案 这取决于PHP实现(您的链接无效)。如果

php - 使用 Google Calendar API (PHP) 插入包含非 ASCII 字符的事件

我在使用GoogleCalendarAPI(PHP)v3插入事件时遇到问题。如果事件的描述包含井号£等字符,则事件会在日历中创建,但描述留空。似乎对于初始7位字符代码(ASCII代码0-127)之外的所有字符都是如此。通过使用htmlentities函数,我可以将井号的所有实例替换为:£如果用户使用的是基于网络的Google日历版本,这很好,但移动应用程序不会将其转换回井号。这是一个相当大的问题,因为事件通常是从使用非ASCII引号的MicrosoftWord中复制/粘贴的。是否有某种编码方法可以解决这个问题?我目前在MySQL数据库和PHP脚本中使用UTF-8编码。我正在使用以下代码

php - 使用扩展 ASCII 解码 HTML 编码的字符

我有一个XML,其中的特殊字符编码为&#xxx;在里面。只要我将这些字符输出到浏览器,就可以正常工作,因为它们是HTML编码(某种程度上)。但我需要使用simplexml_load_string读取XML文件,这会导致某些字符出现垃圾,因为它们在扩展的ASCII表中。例如:š转换为š-但是当我尝试使用html_entity_decode时,我得到一个空字符。我尝试了从iconv到mb_decode_numericentity的几乎所有方法-没有任何效果。我如何转换那些&#xxx;到真实人物???[编辑]我找到这张表http://www.ascii-code.com声称

php - PDO::quote() 用于 SQL Server 错误引用包含 ASCII NUL 的字符串

我正在尝试使用pdo_sqlsrv从PHP将ASCIINUL字符(\0又名U+0000)插入到SQLServer数据库中。这是处理PHP序列化字符串的要求,其中包含NUL字符以表示私有(private)/protected变量。但是,关于PDO::quote()的一些事情破坏了字符串。要重现的代码(将DBNAME、USERNAME和PASSWORD替换为适当的值):getMessage());}$str="XX\0XX";header("Content-Type:text/plain");print("Original:".str_replace("\0","{NUL}",$str).

php - 如何删除虚假的非 ascii 字符,但保留空格和换行符?

我有一些包含非ASCII字符的文本文件,我想删除它们,但保留格式字符。我试过了$description=preg_replace('/[\x00-\x1F\x80-\xFF]/','',$description);然而,这似乎去除了换行符和其他格式,并且一些希伯来语也有问题,然后将其转换为משפטיםנוספיםמהמומחה.נסוותהנו!חגחנוכהשמח****************************************חדש-האפליקציההיחידהשאומרתלךמהמצבהסוללהשלך**NEWtoversion1.1-theexperttalk

php - ASCII "../"是唯一指示 PHP 中目录遍历的字节序列吗?

我有一个PHP应用程序,它使用$_GET参数来选择文件系统上的JS/CSS文件。如果我拒绝所有输入字符串包含./、\或可见7位ASCII范围之外的字节的请求,这是否足以阻止父将路径传递给PHP的底层(基于C的)文件函数时的目录遍历?我知道null-bytevulnerabilities,但是这些检查是否还有其他替代/格式错误的字符编码技巧?这是基本思想(不是生产代码):$f=$_GET['f'];//e.g."path/to/file.js"//goal:selectonlyunhiddenCSS/JSfileswithinDOC_ROOTif(!preg_match('@^[\x20

php - html_entity_decode 不解码 ASCII

这是我的代码:$string='It';$string=html_entity_decode($string);echo$string;它应该回显“It”,但它只是回显ASCII码。我使用了错误的功能吗?我还尝试了htmlspecialchars_decode,它没有任何改变。 最佳答案 这些不是有效的实体实际上,它们在HTML4中是有效的(我想HTML5也是如此),但在这种情况下,实体需要以分号结尾以便PHP识别它们:$string='It';htmlspecialchars_decode()只解码

php - imagettftext() : calculate font size to ensure text fits image width

我正在使用imagettftext()在图像上写入动态文本,我希望它适合我的图像宽度。如何根据文本长度计算字体大小? 最佳答案 您可以在使用imagettfbbox函数输出之前计算TTF文本的边界框。遗憾的是,没有直接缩放以适合宽度的方法,因此您必须自己做。一种方法是将默认字体大小(例如20)的文本传递给imagettfbbox并从中检索宽度。然后,您可以通过计算比例因子来计算文本应该缩小或放大多少以适合您想要的大小:scale=targetWidth/bboxWidth;然后绘制合适大小的文字:fontSize=20*scale;

php - Vagrant/Puppet --- 确保 : change from present failed: Could not set 'present on ensure: No such file or dir

我正在使用Vagrant和Puppet在Ubuntu上安装Apache和PHP。但是,我在vagrantup期间收到以下错误。我认为模板的路径是正确的,那为什么会出错呢?我正在使用设置here修改以确保apt-getupdate在任何其他操作之前运行错误←[1;35merr:/Stage[main]/Php/File[/etc/php5/apache2/apc.ini]/ensure:从缺席出席失败:无法设置“出席确保:没有这样的文件或目录ectory-/etc/php5/apache2/apc.ini.puppettmp_6187在/tmp/vagrant-puppet/module