草庐IT

mb_encode_numericentity

全部标签

php - 900 MB http 强制下载很少完成

我已经尝试了所有的标题。有和没有内容长度。问题是下载到一半就崩溃了。但只有大部分时间。有时它工作得很好。服务器资源使用是微不足道的。所有配置文件都很好。我不运行php脚本。有没有人见过这个?难道连我的错都没有?为什么有时?$file="http://domain.com/files/".$item_number.".mov";header('Pragma:no-cache');header('Cache-Control:must-revalidate,post-check=0,pre-check=0');header('Content-Description:FileDownload'

php - 使用 json_encode 进行奇怪的 JSON 编码

我将WordPress与JSONAPI插件(http://wordpress.org/extend/plugins/json-api/)结合使用来生成对我们其他网站的响应。当我传递以下数组http://pastebin.com/xdfYjrvK时,我遇到了一个非常奇怪的问题(我们使用的是PHP5.3.6)到json_encode()它给了我这个(带有json内容类型):http://pastebin.com/T61XGPP5所以开头是废话,在上面的例子中是2609,最后是0,它根据响应的大小、更多内容->更高的十六进制数而变化。它也仅在响应量“足够高”时出现,因此它适用于小响应。起初我

PHP 不能使用 300MB 内存

我正在尝试增加某些PHP脚本的允许内存。不管我做什么,例如这个:ini_set('memory_limit','512M');...脚本总是在300MB左右耗尽内存:Fatalerror:Outofmemory(allocated25165824)(triedtoallocate343810589bytes)in\\Foo\phpQuery\phpQuery.phponline255我已经通过多种方式验证了memory_limit确实发生了变化。问题似乎是PHP无法物理分配总共300MB的内存(25165824字节+343810589字节=352MB)。我已经在两台不同的基于Windo

php - 使用 mb_substr() 将字符串的其余部分获取到末尾并仍然设置编码

使用substr(),您可以省略第三个参数以获取整个字符串的其余部分:substr('abcdefg',2)//returns"cdefg"你不能用mb_substr()做同样的事情:mb_substr('abcdefg',2,null,'UTF-8');//returnsemptystring我只找到了奇怪和丑陋的解决方案。设置一个非常大的数字作为长度:$a=mb_substr('abcdefg',2,9999999999,'UTF-8');计算数字:$a=mb_substr('abcdefg',2,mb_strlen('abcdefg','UTF-8')-2,'UTF-8');使用

php - json_decode 和 json_encode 长整数而不丢失数据

如PHP文档中所述,当json_decode包含长整数的数据结构时,它们将被转换为float。解决方法是使用JSON_BIGINT_AS_STRING,它将它们保留为字符串。当json_encodeing这些值时,JSON_NUMERIC_CHECK会将这些数字编码回大整数:$json='{"foo":283675428357628352}';$obj=json_decode($json,false,JSON_BIGINT_AS_STRING);$json2=json_encode($obj,JSON_NUMERIC_CHECK);var_dump($json===$json2);//

PHP 函数 mb_detect_encoding 严格模式

在函数中mb_detect_encoding严格模式有一个参数。在第一个最赞的评论中:这是真的,是的。但是谁能给我一个解释,这是为什么? 最佳答案 此答案中的所有内容均基于我对代码here的阅读和here.我没有写它,我没有用调试器单步调试它,这只是我的解释。似乎意图是针对严格模式检查字符串作为一个整体是否对编码有效,而非严格模式将允许可能的子序列是有效字符串的一部分。例如,如果字符串以多字节字符的第一个字节结尾,它在严格模式下将不匹配,但在非严格模式下仍符合UTF-8标准模式。但是似乎存在一个错误*,即在非严格模式下,在某些情况下

php - 更改 json key 名称 [ 使用 json_encode 生成的 json ]

我正在使用json_encode()从数组生成json,它工作正常,但它像往常一样使用数组中的键:值。但我只想在json输出中更改key的名称。可以这样做吗?或者我应该自己手动准备jsonkey:values吗?例子:$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echojson_encode($arr);O/P{"a":1,"b":2,"c":3,"d":4,"e":5}我要。{"foo":1,"something":2,"bar":3,"foo":4,"baz":5}编辑:我无法编辑原始数组..(使用framweork生成)

php - json_encode 序列化空字节

我遇到了这个serialize今天明白了。来自PHP.net文档:Note:Object'sprivatemembershavetheclassnameprependedtothemembername;protectedmembershavea'*'prependedtothemembername.Theseprependedvalueshavenullbytesoneitherside.我正在使用debug_backtrace为调试报告生成跟踪,它获得json_encoded。它在内部使用序列化程序生成跟踪数据。这是json_encode的(部分)输出:{"\u0000MyObjec

php - mb_convert_encoding 问题

我对PHP函数mb_detect_encoding有一些疑问。我无法将其转换为ISO-8859-1。有帮助吗?代码:$str="åäö";$encoding=mb_detect_encoding($str);echo$encoding;$encoding=mb_detect_encoding(mb_convert_encoding($str,"ISO-8859-1"));echo$encoding;输出:UTF-8UTF-8已更新,解决方案:我将mb_detect_order更新为array('UTF-8','ISO-8859-1')并且它起作用了。 最佳答

php - mb_* 是否需要从多字节字符串中替换单字节字符?

假设我有一个UTF-8像这样的文本:âàêíóôõâàêíóôõâàêíóôõ我想替换与.我需要使用mb_str_replace吗?或者我可以使用str_replace?考虑br/>都是单字节char吗? 最佳答案 自str_replace是二进制安全的,UTF-8是双射编码,你可以使用str_replace,即使搜索字符串或替换包含多字节字符,只要所有三个参数都编码为UTF-8。这就是为什么没有mb_str_replace的原因功能放在首位。如果您的编码不是双射的-即同一个字符串有多种表示形式,例如在UTF-7中,可以表示为'+A