最近在win的cmd下用 php 的 cli 调试程序总是出来乱码; 研究一番才知道原来是 cmd 只支持 gbk 的显示,如果 cli 吐出来的数据是 utf-8 编码的就出乱乱码,最后使用 mb_convert_encoding 转码, 在吐出来之前进行一次转码就可以了; 研究过程中看到一函数,
最近在win的cmd下用 php 的 cli 调试程序总是出来乱码;
研究一番才知道原来是 cmd 只支持 gbk 的显示,如果 cli 吐出来的数据是 utf-8 编码的就出乱乱码,最后使用 mb_convert_encoding 转码,
在吐出来之前进行一次转码就可以了;
研究过程中看到一函数,貌似精确度不能达到 100% 不过也不失为解决问题的一程序办法;
function is_utf8($word)
{
if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true)
{
return true;
}
else
{
return false;
}
}
原文地址:php 判断编码, 感谢原作者分享。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号