宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > 字符串按要求的字符编码来转换有bug怎么办

字符串按要求的字符编码来转换有bug怎么办

2021-07-20

详细说明:

——根据需要的字符编码转换字符串

有一个bug,一些生僻字不会被转换。当然,在配置第二个参数的时候,可以稍微弥补一下默认的缺陷,这样转换就不会被截断了。用法如下

("UTF-8","//",$data);

这样,当遇到生词转换失败时,会忽略失败,继续转换后面的内容。

iconv
string iconv ( string $in_charset , string $out_charset , string $str )
第一个参数:内容原的编码
第二个参数:目标编码
第三个参数:要转的字符串
函数返回字符串
php
$instr = ‘测试’;
// GBK转UTF-8
$outstr = iconv(‘GBK’,'UTF-8′,$instr);
?>

返回值

返回转换后的字符串,失败时返回。

详细说明:

为了保证转换的成功率,我们可以使用另一个转换函数

,这个函数效率不高。另外这个功能也可以省略第三个参数来自动识别内容码,但是最好不要使用,影响效率。如果需要注意的话编码转换 php,和参数的顺序是不一样的。注意。

附上两个函数编码转换 php,简单使用:

字符串按要求的字符编码来转换有bug怎么办
(图1)

mb_convert_encoding
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
第一个参数:要处理的字符串
第二个参数:目标编码
第三个参数:内容原编码,它可以是一个 array 也可以是逗号分隔的枚举列表

$instr = '测试';
// GBK转UTF-8
$outstr = mb_convert_encoding($instr,'UTF-8','GBK',);
$str = mb_convert_encoding($instr, "UCS-2LE", "JIS, eucjp-win, sjis-win");
?>

个人建议在遇到转码问题时多保险一些。

——转换一个或多个变量的字符编码

mb_convert_variables ( $to_encoding , $from_encoding , &$vars [, mixed &$... ] )

将变量 vars 的代码从代码转换为代码。

mb_convert_variables() 会拼接变量数组或对象中的字符串来检测编码,因为短字符串的检测往往会失败。因此,不能在一个数组或对象中混合使用编码。

字符串按要求的字符编码来转换有bug怎么办
(图2)

to_encoding  将 string 转换成这个编码。
from_encoding 可以指定为一个 array 或者逗号分隔的 string,它将尝试根据 from-coding 来检测编码。 当省略了 from_encoding,将使用 detect_order。
vars 是要转换的变量的引用。 参数可以接受 String、Array 和 Object 的类型。 mb_convert_variables() 假设所有的参数都具有同样的编码。
额外的 vars。

返回值 :
成功时返回转换前的字符编码,失败时返回 FALSE。

实例:

/* 转换变量 $post1、$post2 编码为内部(internal)编码 */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>

——设置/获取内部字符编码

mixed mb_internal_encoding ([ string $encoding = mb_internal_encoding() ] )

参数 :
encoding 字符编码名称使用于 HTTP 输入字符编码转换、HTTP 输出字符编码转换、mbstring 模块系列函数字符编码转换的默认编码。 
返回值 :
如果设置了 encoding,则成功时返回 TRUE, 或者在失败时返回 FALSE。 In this case, the character encoding for multibyte regex is NOT changed. 如果省略了 encoding,则返回当前的字符编码名称。

字符串按要求的字符编码来转换有bug怎么办
(图3)


/* 设置内部字符编码为 UTF-8 */
mb_internal_encoding("UTF-8");
/* 显示当前的内部字符编码*/
echo mb_internal_encoding();
?>

详细说明:

——检测字符的编码

string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )

检查字符串str的编码。

参数 
str    待检查的字符串。
encoding_list   是一个字符编码列表。 编码顺序可以由数组或者逗号分隔的列表字符串指定。
如果省略了 encoding_list 将会使用 detect_order。
strict    strict 指定了是否严格地检测编码。 默认是 FALSE。
返回值
检测到的字符编码,或者无法检测指定字符串的编码时返回 FALSE。

字符串按要求的字符编码来转换有bug怎么办
(图4)

当字符串编码未知时对字符串进行编码:

1、不管是什么字符串编码,都会转成gbk

function getSafeStr($str){
    $s1 = iconv('utf-8','gbk//IGNORE',$str);
    $s0 = iconv('gbk','utf-8//IGNORE',$s1);
    if($s0 == $str){
        return $s1;
    }else{
        return $str;
    }
}

2、不管是什么字符串编码,都会转为utf-8

function getSafeStr($str){
    $s1 = iconv('gbk','utf-8//IGNORE',$str);
    $s0 = iconv('utf-8','gbk//IGNORE',$s1);
    if($s0 == $str){
        return $s1;
    }else{
        return $str;
    }
}

获取字符串编码方式:

function getcode($str)
{
    $s1 = iconv('utf-8','gbk//IGNORE',$str);
    $s0 = iconv('gbk','utf-8//IGNORE',$s1);
    if($s0 == $str){
        return 'utf-8';
    }else{
        return 'gbk';
    }
}

Tag: 字符编码 编码转换 字符串函数
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • 是一个代码格式化工具合集,基于很多开源的代码格式
  • 快速开发利器:BootCLI时隔3年,重进TOP20
  • php接口开发文档下载使用安卓手机来搭建一个PHPWEB服务器教程支付宝开发接口文档
  • php开发实战与别的培训不同,慕课网更在意你的学习php mysql开发实战
  • php开源企业网站系统腾云网络解决方案和技术服务提供商发布面向个人爱好者的桌面操作系统1.0深喉咙php免费开源企业建站系统
  • PHP语法错误埋藏得太深怎么办?(图)
  • 您不知道java没落的swt和PHP最大的不同和加上
  • php 代码混淆 HMSCore3D建模服务,快速构建高质量3D模型(图)
  • 机械化的数据处理工作中——字段索与模式
  • Java源码包钢琴模拟程序java源码2个目标文件(组图)

相关

字符编码转换类,支持ANSI、big、UTF-8+Bom互相

字符编码转换类,支持ANSI、big、UTF-8+Bom互相

PHP()函数字符编码转换的问题讲解更新时间:2019年03

php 编程题 加法计算器:PHP内部字符串操作函数(1)(

php 编程题 加法计算器:PHP内部字符串操作函数(1)(

php网站如何攻击美国学生可以编程或正在学习的前10种编码语

php网站如何攻击美国学生可以编程或正在学习的前10种编码语

php 导出excel换行符代码什么是PHP字符串过滤函数?

php 导出excel换行符代码什么是PHP字符串过滤函数?

php代码做成图片格式我将为大家介绍如何使用PHP语言来编码

PHP开发用到了编码与解码,将转为中文转这样

PHP开发用到了编码与解码,将转为中文转这样

四种常见文本文件编码方式ANSI编码:无文件头(文件编码开头

四种常见文本文件编码方式ANSI编码:无文件头(文件编码开头

Andy'sBlog»编码,编码转换ת,批量转换

php实现汉字转编码的方法:首先创建一个PHP示例文件

标签

seo(1192) 市场营销(661) 网站制作(574) 网站建设(568) 搜索引擎(553) 网站(482) PHP(363) 编程语言(346) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(150) 搜索引擎优化(150) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(111) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(93) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站建设方案(66) 网站分析(66) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) php框架(51) 网页设计(51) 百度(51) 网站建设知识(50) 谷歌(50) 网站结构(50)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

网站建设 网站 公司 宿迁 模版 模板 源码 教育 学校 响应式 百度 营销型 seo 网站架构 交通设备制作 教育类网站 项王故里网站建设案例 中文编程 优化 管理
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们