草庐IT

php - fatal error : Call to undefined function mb_substr()

我希望看到您对我目前遇到的这个问题的意见。事实证明:以某种方式在网站上给我一个错误,错误显示:Fatalerror:Calltoundefinedfunctionmb_substr()in/home/(website)/public_html/index.phponline308不太明白他们说的mb_substr是什么意思,难道是PHP版本错误?我目前使用的是PHP5.3.19 最佳答案 mb_substr()是substr()的多字节安全版本,这意味着它适用于字符,而不是字节。这在UTF-8中最为明显,其中许多字符由两个或更多字节

php - Android 允许将多个文件上传(最大 150 MB)到 PHP 服务器

我必须允许用户在从我的Android应用程序到PHP服务器的单个请求中上传多个文件(可以是图像/视频/音频)。我正在使用REST网络服务。为此功能,我使用了以下代码:/*Touploadthemultipledocuments*/publicvoiduploadFile(){Stringcharset="UTF-8";File[]uploadFileArray=newFile[mediaList.size()];for(inti=0;iresponseUploadDocument=multipart.finish();System.out.println("SERVERREPLIED:

php - strlen,mb_strlen,该用哪个?

我如何知道$_REQUEST中的字符集?以及如何设置$_REQUEST的字符集? 最佳答案 简而言之:您并不真正了解通过GET或POST传递给PHP脚本的变量所使用的编码(字符集)(尤其是GET在这里是个问题)。按照惯例,浏览器将表单POST到action中指定的服务器端资源。-使用页面编码的属性,可以通过http-equiv指定-meta-tag(charset-HTML5中的-meta-tag)或通过HTTPheader。或者,一些浏览器也尊重accept-charset-选择正确编码时在表单上的属性。GET参数和URL本身的编

PHP mb_substr() 无法正常工作?

这段代码printmb_substr('éxxx',0,1);打印一个空白空间:(它应该打印第一个字符,é。然而,这似乎有效:printmb_substr('éxxx',0,2);但是不对,因为(0,2)表示2个字符... 最佳答案 尝试将编码参数传递给mb_substr,如下所示:printmb_substr('éxxx',0,1,'utf-8');永远不会自动检测到编码。 关于PHPmb_substr()无法正常工作?,我们在StackOverflow上找到一个类似的问题:

PHPExcel 耗尽 256、512 和 1024MB RAM

我不明白。XSLX表大约有3MB大,但即使是1024MB的RAM也不足以让PHPExcel将其加载到内存中吗?我这里可能做错了什么:functionReadXlsxTableIntoArray($theFilePath){require_once('PHPExcel/Classes/PHPExcel.php');$inputFileType='Excel2007';$objReader=PHPExcel_IOFactory::createReader($inputFileType);$objReader->setReadDataOnly(true);$objPHPExcel=$objR

php - mb_convert_encoding,启用 mbstring 时未定义的函数

我有一个服务器(Ubuntu11.10x64)运行PHP5.3.8和Apache2/MySQL。我目前正在做一个项目,我需要做一些特定的字符编码,但我发现没有一个多字节(mb_*函数)在工作。但是,当我查看phpinfo()时,我看到启用了多字节支持。我试过apt-getinstallphp5-mbstring、php-mbstring、php-multibyte等,但似乎都没有用。任何人都可以为此指出正确的方向吗?提前致谢!编辑:通过重新编译PHP修复它(这是我最后的手段,我最初想避免)./configure--enable-mbstring奇怪的是,phpinfo()已经显示它已启

php - 无法调用内置的 mb_internal_encoding 方法?

我试图在CentOS5.3VMware'box'上安装indefero,但遇到了问题。在安装的早期,我收到了一个错误,我可以将其范围缩小到:[root@code/var/www/html]#catx.php[root@code/var/www/html]#phpx.phpPHPFatalerror:Calltoundefinedfunctionmb_internal_encoding()in/var/www/html/x.phponline2通过Apache通过http调用此脚本时,我遇到了同样的错误。现在根据PHPmanualthemb_internal_encodingfuncti

php - PHP 中的 iconv() 和 mb_convert_encoding() 有什么区别?

PHP中的iconv()和mb_convert_encoding()有什么区别?一个性能更好,更快等(例如使用特定编码)吗?在什么情况下,一种会比另一种更受欢迎?以下是我认为我已经知道的:iconv()包含在大多数PHP安装中。当发现无法映射到新字符集的字符时,您可以指定是转换为“相似”字符还是忽略它们。mb_convert_encoding()通常需要安装php-mbstring扩展。能够处理HTML-ENTITIES,与网络十六进制代码相互转换。还有其他区别吗? 最佳答案 iconv()只是对运行PHP的系统C库中的iconv(

mysql - 操作 '=' 的排序规则 (utf8mb4_unicode_ci,IMPLICIT) 和 (utf8mb4_general_ci,IMPLICIT) 的非法混合

我收到了这个错误;Illegalmixofcollations(utf8mb4_unicode_ci,IMPLICIT)and(utf8mb4_general_ci,IMPLICIT)foroperation'='我将“排序规则”更改为“utf8mb4_unicode_ci”。然后表被截断,我再次重新导入行。但仍然遇到同样的错误 最佳答案 我猜你在加入的表上有不同的排序规则。它说您在操作=中使用了非法的排序规则组合。所以你需要设置排序规则。例如:WHEREtableA.fieldCOLLATEutf8mb4_general_ci=t

mysql - 将 Laravel MYSQL 更改为 utf8mb4 以在现有数据库中支持表情符号

我正在使用Laravel5.3并且我已经设置了我的生产服务器。所有数据库迁移都已使用以下数据库配置创建:'mysql'=>['driver'=>'mysql','host'=>env('DB_HOST','localhost'),'port'=>env('DB_PORT','3306'),'database'=>env('DB_DATABASE','forge'),'username'=>env('DB_USERNAME','forge'),'password'=>env('DB_PASSWORD',''),'charset'=>'utf8','collation'=>'utf8_un