后端开发|php教程
iconv,quot,str,TRANSLIT,adfadsfasdfadsfa
后端开发-php教程
php 5.2.4 iconv函数TRANSLIT 有时不靠谱
tddl 源码,用vscode写一个信息网页,ubuntu下svn使用,tomcat在开发中的应用,bat读取sqlite,教育类型网页设计,在服务器搭建php环境,js swf播放插件,前端框架多端使用,爬虫上传抖音,php模拟手机,seo 首页,最全的网站,军事网页可以插入的特效,drupal7 中文模板,css当前页面链接样式,图书馆管理系统,pso matlab源程序lzw
php 版本 5.2.4
全景声源码输出,vscode实战视频,ubuntu网页视频下载,linix安装tomcat,sqlite 查询计算,最土团购 插件,前端开发框架搭建流程,爬虫获取文字,oracle php,seo 兼职,免登录留言网站源码,好看的网页模板,zblog php 卢松松模板,h5手机页面弹出选择框,云盘管理系统的源码,信息发布程序 源码lzw
问题:文件字符串转码时按字节截断不当
struts2 源码编译,ubuntu创建仓库,python爬虫研究思虑,resque php,丰台SEO公司lzw
比如
$str = “公司”; //默认以UTF-8编码$str = Simple_Util_String::msubstr($str, 4);// 按字节截取前4个字节,原字符串有6个字节$str .= “adfadsfasdfadsfasdf”; //拼接后面的字符串 (执行下一步后,这些字符就消失了)$str = iconv("UTF-8", "GBK//TRANSLIT",$str); // 转码 , 遇到不认识的字符串进行转写
执行此步时,“公司”的“司”字编码不完整,iconv不认识,但iconv没有转写,而是做了截断。导致$str后面的字符串也没有转换成功,“adfadsfasdfadsfasdf”丢失了。在一些商业产品,尤其是有关统计的系统里,这是很危险的。
解决方法是:
改变iconv第二个参数。
$str = iconv("UTF-8","GBK//IGNORE", $str);
总结:iconv的TRANSLIT并不靠谱,遇到不认识也不能转写的字符串,也可能截断。保险的方法是用IGNORE。