• 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们

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

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

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

2021-07-20385

详细说明:

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

有一个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

上一篇

返回栏目

下一篇

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

热推

  • 2018什么是真正的全栈工程师,他们需要掌握更多的编程语言吗?
  • php 开发特点PHP8.0新特性1.联合类型2.匹配php开发工程师
  • 兼职开发者论坛php大学生毕业后紧接着面临的问题,就业难问题是当下困扰php论坛开发教程
  • 原生phpajax推荐活动:更多写博客关于原生AJAX和的编程(组图)
  • 《泰德兰电子》提供美国AOS万代高低压MOSMOS管功率的型号选型推荐及应用问题分析
  • 完整教程的php框架 PHP的话基于Yii2高级框架的快速开发应用引擎/而生php框架yii教程
  • 本文实例讲述在中利用与把网页html直接生成pdf格式的文件方法
  • 国产博客程序:这款长须的备选方案(图)
  • 潍坊“双招双引”硕果累累大项目频频签约
  • 用php开发网站你的职业目标在哪里?有数百种可供选择?php如何开发网站

相关

字符编码转换类,支持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(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

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

联系电话:13160355545

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

联系邮箱:admin@tyweb.net

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

热门搜索

百度 下载 2025 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

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