LMLPHP后院

使用PHP实现Unicode编码转换为UTF-8编码示例

先解释一些概念。Unicode 是 Universal Multiple-Octet Coded Character Set 的简写,简称为UCS。Unicode 是多个八位编组的字符编码集合,它本身只是编码规范,并没有任何实现。目前,大多数 Unicode 编码都是占用两个字节,一共可以编 65536 个字符,全世界所有的语言基本上都在里面了,至少绝大多数中文都编进去了,所以很多 json 编码的...

MySQL 非法混合字符集等号操作异常

al_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '='' in ...报错原因是因为搜索引擎快照界面是 gb2312 编码,使用这样的编码难道是为了节约存储?在网上找了很多资料,有人说使用 binary() 函数来解决报错,有人说修改数据库编码,让数据库的编码和 MySQL 的设置都保持一致。个人认为统一编码是不太好的做...

VIM如何以指定编码打开或加载文件

Vim 编辑器如何以指定编码打开文件,或者是在打开文件之后,如何以指定的编码再次加载当前文件。有时候,特别是文件的中文内容比较少的情况下,比如整个文件中只有一到两个中文字符,编辑器可能会以错误的编码方式打开,这个时候就需要手动的切换到正确的编码。指定编码打开文件,如下示例:$ vi file_name -c "e ++enc=utf-8"在编辑器打开后,动态切换编码,如下示例::e ++enc=utf...

使用PHP字符串处理mb系列函数注意事项

PHP 的 mbstring 系列函数在使用的时候需要设置内部编码,如果没有设置,则默认跟随系统编码。关于 mbstring 系列函数出现乱码问题,网上的很多被转载的文章大都说是没有安装 mbstring 扩展导致。如果没有安装 mbstring 扩展,报错的就是 Undefined function,而不是乱码的问题。很多程序在开发的时候,由于程序员的经验不够丰富,开始运行的时候没有任何问题,一旦迁...

需要注意的几种空格 194 160

程序中经常需要跟空格打交道,一般情况下我们熟知的几种空格并不是什么大问题,但是有一种 utf-8 编码的空格,大家一定比较陌生。一起来看看吧!这种东西很难用文字描述清楚,很多人发生了问题,根本不知道怎么搜索,这里加上几个关键词,空格,32;227, 128, 128;194,160。空格 ascii 编码第一个 ascii 空格编码 32,对应字符 ' '第二个 中文全角空格编码 227 128 12...

PHP编码转换减号(连接符)无法转换问题

使用 PHP 的 iconv 或 mb_convert_encoding 函数进行编码转换,比如将 gb2312 转换为 utf-8 编码,在出现某些特殊字符(减号,连接符)时,不能正常工作,可能会变成问号"?"或者"C"。尝试了多种方法,依然不能很好的解决这个问题。如下代码,在声明了 //IGNORE 后遇到连接符号"-"仍然会变成符号"?"。 <?php $html = iconv($chars...

Fix Malformed UTF-8 characters, possibly incorrectly encoded

A%D0%B1%BB%B7%A3/ 当你使用 json_encode 处理的数据包含上面的字符串的时候,是不会有什么问题的,但是如果你一不小心,将它 urldecode 了,这下就产生了垃圾数据,非法编码了,这个就是进攻吧。使用 json_last_error_msg() 可以查看错误原因:Malformed UTF-8 characters, possibly incorrectly encoded...

使用Form Iframe Request取代Ajax技术和Jquery的Ajax方法

云。后来在一个偶然的机会,需要去修改 QiboCms 系统,才发现里面的评论一处使用 Iframe 来作为局部刷新了,当时也是蛮佩服当时的作者的,这样的兼容性应该更好。如果一个程序员在 GB2312 编码的程序和网页上使用 Jquery 的 Ajax 功能,你会发现,你做不到,非常麻烦,要不是页面乱码就是服务器参数接收乱码,总之非常麻烦,Ajax 的 Header 里面添加编码信息也依然不能解决。也许...

PHP trim 函数引发崩溃且数据库保存失败

); return; 输出string(3) "血" string(2) "?" string(3) "血" 上面的例子是用来去除文字两边的中文全角空格,结果在个别字结尾的时候就出现来问号,这个特殊的编码的字符导致数据库保存失败,直接 crash。LmlException: HY000 1366 Incorrect string value: '\xE8\xA1</p>...' for column ...

微信开发入门的大坑

nit($module); mcrypt_module_close($module); //print(base64_encode($encrypted)); //使用BASE64对加密后的字符串进行编码 return array(ErrorCode::$OK, base64_encode($encrypted)); } catch (Exception $e) { //print $e; retur...
2021-10-24 08:05:06 1635033906 0.015531