草庐IT

php - UTF8 到 CP1255 转换

我正在尝试将UTF-8字符串转换为CP1255(希伯来语)我试过运行以下命令(我正在使用detect_encoding因为我的一些输入不是UTF-8):foreach($paramas$key=>$value){$newval=iconv(mb_detect_encoding($value),"cp1255",$value);$querystr.=$key."=".$newval."&";}不管怎样,结果是所有的希伯来字符都返回漂亮的�符号,所有其他(英文/数字)都符合预期并保持原样。我怎样才能正确地做到这一点? 最佳答案 我找到了

PHP utf8问题

我在将包含挪威字符的数组与utf8字符进行比较时遇到了一些问题。除了特殊的挪威字符(æ、ø、å)之外的所有字符都可以正常工作。functionisNorwegianChar($Char){$aNorwegianChars=array('a','A','b','B','c','C','d','D','e','E','f','F','g','G','h','H','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','q','Q','r','R','s','S','t','T','u','U','v','V','w'

php - 如何在我的 utf-8 编码页面上正确显示 utf 编码字符?

我正在检索电子邮件,我的一些电子邮件有utf编码的文本。然而,即使我的页面被编码为utf8-在某些地方,当我尝试输出utf文本时,我会得到有趣的字符,例如:=?utf-8?B?Rlc6INqp24zYpyDYotm+INin2LMg2YXYs9qp2LHYp9uB2bkg2qnbjCDZhtmC?==?utf-8?B?2YQg2qnYsdiz2qnYqtuSINuB24zaug==?=而在同一页面的其他区域显示正常。这是怎么回事? 最佳答案 这不是“有趣的字符”,它们是合法的ASCII字符。只是该字符串是为传输而进行的MIME编码,

php - 正则表达式匹配任何 UTF 字符,不包括标点符号

我正在PHP中准备一个函数来自动转换字符串以用作URL(*.html)中的文件名。虽然应该使用ASCII以确保安全,但出于SEO的需要,我需要允许文件名使用任何语言,但我不希望它包含破折号(-)和下划线(_)、字符以外的标点符号像*%$#@"'不应该被允许。空格应转换为破折号。我认为使用Regex将是最简单的方法,但我不确定如何处理UTF8字符串。我的ASCII函数如下所示:functionconvertToPath($string){$string=strtolower(trim($string));$string=preg_replace('/[^a-z0-9-]/','-',$s

php - 变音符号和 mb_substr 的问题

我正在使用mb_substr函数对带有变音符号的unicode字符串进行切片,但它的工作原理与我使用简单的substr函数一样。它将unicode字符分成两半,显示带问号的菱形。例如echomb_substr('ááááá',0,5);//Displaysáá�可能出了什么问题? 最佳答案 如果我不将编码指定为mb_substr的最后一个参数,我会遇到同样的问题:至少在我的服务器上,它默认为ISO-8859-1。但是,如果我将编码正确设置为UTF-8,它就可以正常工作:echomb_substr('ááááá',0,5,'UTF-8

php mb_strtolower 给出无效字符

以下代码会产生问题。var_dump($name);$name=mb_strtolower($name);var_dump($name);输出是string(32)"brazilandtechnology,SãoPaulo"string(32)"brazilandtechnology,s�opaulo"谁能解释一下为什么我得到的ã字符无效?我在这里做错了什么?mb_detect_encoding($name)saysitsUTF-8 最佳答案 mb_strtolower()有第二个参数来指定编码。如果省略,它使用mb_interna

php - utf8 到 ISO-8859-1 无法通过 Curl 正确转换某些字符

我有一个采用UTF8编码字符的应用程序,需要使用ISO-8859-1编码通过curl将它们作为xml的一部分发送。这是我的测试代码:header('Content-Type:text/plain;charset=IS0-8859-1');$message='§°"@#€%&/()=+`´^¨*-_:.;,';echomb_convert_encoding($message,'ISO-8859-1','UTF-8');//buildxmltopost$content=''.CUSTOMER_ID.''.PASSWORD_ID.'+12345678900';$posturl=MT_URL;

PHP 仍然不允许上传大于 2 MB 的文件

我在运行Apache2和PHP5.3.3-7的AmazonEC2实例上安装了DebianSqueeze。我希望它能够接受来自标准傻瓜相机的上传(大约5MB)。因此,我编辑了/etc/php5/apache2/中的php.ini以允许最多18MB的上传,并且我已经增加了PHP允许处理脚本的时间。尽管重新启动Apache甚至机器本身,它绝对拒绝上传任何大于2MB的文件。这是EC2问题还是仍然是PHP问题。我相当确定我已经排除了它是PHP的所有可能性,但上周我一直盯着同样的4行代码,像疯子一样搜索它可能是什么。/etc/php5/apache2/php.ini:max_execution_t

php - 拉维尔 4 : Fatal error: Class 'Patchwork\Utf8\Bootup' not found in autoload. PHP

我将"cviebrock/image-validator":"1.0.*"添加到composer.json的require部分。之后,我运行了composerupdate,我收到了这个fatalerror。:::错误:::Fatalerror:Class'Patchwork\Utf8\Bootup'notfoundinF:\xampp\htdocs\project\bootstrap\autoload.phponline46Scriptphpartisanclear-compiledhandlingthepost-update-cmdeventreturnedwithanerror[R

php - 无法在 Laravel 中上传大于 2MB 的文件

目前,我在laravel中做一个CMS,我试图在laravel中上传一个超过2MB的文件,它显示图像上传失败。我的Controller代码。$this->validate($request,['title'=>'required','featured'=>'required|image','content'=>'required','category_id'=>'required','tags'=>'required']);$featured=$request->featured;$featured_new_name=$featured->getClientOriginalName()