PHP ASCII码的字符串用mb_convert_encoding 转utf-8之后不生效

检测数据类型是ascii,转码之后再检测还是utf-8没生效

private function toUTF8($str){$encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5','LATIN1'));if ($encode != 'UTF-8') {$str1 = mb_convert_encoding($str, 'UTF-8', $encode);dd(mb_detect_encoding($str1, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5','LATIN1')));}return $str;}

在这里插入图片描述

1、mb_detect_encoding — 检测字符的编码

说明
string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false ]] )
检测字符串 str 的编码。

2、mb_convert_encoding — 转换字符的编码

说明
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding

查了一些资料得知

没办法转 ascii是utf-8的子集 所以没有转的必要 就是你调用iconv去转 然后你mb_detect_encoding之后发现还是ascii。因为utf-8里面会把ascii字符集可以表示的,都用ascii表示。其它编码也是 。ascii编码是其它所有编码的子集

腾讯接口强制检验字符串为utf-8,这可能是腾讯的问题
腾讯上传媒体的接口获取的media_id是ascii码
可以尝试一下存数据库再获取media_id

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/669555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA项目】基于个人需求和地域特色的【外卖推荐系统】

技术简介:采用B/S架构、ssm 框架、Java技术、MySQL等技术实现。 系统简介:统权限按管理员,商家和用户这三类涉及用户划分。(a) 管理员;管理员使用本系统涉到的功能主要有:首页,个人中心,用户管理…

[VulnHub靶机渗透] Hackademic: RTB1

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

原型模式和建造者模式

1、原型模式 1.1 概念 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 1.2 结构 原型模式包含如下角色: 抽象原型类:规定了具体原型对象必须实现的的 clone() 方法。 具体原型类:实现抽…

数据结构===二叉树

文章目录 概要二叉树的概念分类存储遍历前序中序后序 小结 概要 简单写下二叉树都有哪些内容,这篇文章要写什么 二叉树的概念分类,都有哪些二叉树遍历 对一个数据结构,最先入手的都是定义,然后才会有哪些分类,对二叉…

【Python】字符串

1. 字符串读取、拼接、匹配、随机生成 2. ‘’.join()连接字符串 3. 使用了random随机函数 4. 字符串列表里面使用判断语句调用函数 1、输入一个字符串,将该字符串中下标为偶数的字符组成新串并通过字符串格式化方式显示。 def get_even_indexed_chars(s):# 使用…

docker Harbor私有仓库部署管理

搭建本地私有仓库,但是本地私有仓库的管理和使用比较麻烦,这个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化。 一、什么是Harbor Harbor是VWware 公司开源的企业级Docker Registry项…

TypeScript 基础学习笔记:interface 与 type 的异同

TypeScript 学习笔记:interface 与 type 的异同 🎣 引言 在 TypeScript的世界里,精准的类型定义是保证代码质量与团队协作效率的关键。interface 和 type 作为两种核心的类型定义工具,它们各自承载着不同的设计意图与应用场景。本…

分布式与一致性协议之ZAB协议(二)

ZAB协议 ZAB协议是如何实现操作地顺序性的? 如果用一句话解释ZAB协议到底是什么,我觉得它是能保证操作顺序性的、基于主备模式的原子广播协议。 接下来,还是以指令X、Y为例具体演示一下,帮助你更好地理解为什么ZAB协议能实现操作…

解决一个朋友的nbcio-boot的mysql数据库问题

1、原先安装mysql5.7数据库,导入我的项目里的带数据有报错信息 原因不明 2、只能建议用docker进行msyql5.7的安装 如下,可以修改成自己需要的信息 docker run -p 3306:3306 --name mastermysql -v /home/mydata/mysql/data:/var/lib/mysql -e MYSQL_R…

Pycharm安装包numpy和matplotlib安装

环境 python 3.12 Pycharm 2023.1 安装包 创建图表的 numpy 库和 matplotlib 库 安装过程出现的问题 setuptools工具包没有安装 Python packaging tool setuptools not found文件 -> 设置 -> 项目:xxx -> python解释器界面显示不出已安装的软件包,系…

Vue3+.NET6前后端分离式管理后台实战(十七)

1,Vue3.NET6前后端分离式管理后台实战(十七)已经在微信公众号更新,有兴趣的扫码关注一起交流学习。

03 - 步骤 Kafka producer

简介 Kafka producer 步骤,用于将 Kettle 中经过处理或转换的数据发送到 Kafka 的主题中 使用 场景 我需要把经过Kettle处理完的数据发送到一个Kafka中,让后端服务器进行下一步处理。 1、拖拽 Kafka producer 到面板 2、配置 Kafka producer 3、调试…