PHP检测当前字符编码并转码

一、检测当前字符串编码并将编码改为utf-8

1 获取当前字符串的编码

$encode = mb_detect_encoding($str, array("ASCII",‘UTF-8‘,"GB2312","GBK",‘BIG5‘));

2 将字符编码改为utf-8

$str_encode = mb_convert_encoding($str, ‘UTF-8‘, $encode);

二、函数详解

mb_detect_encoding — 检测字符的编码

说明

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

检测字符串 str 的编码。

参数

str

待检查的字符串。

encoding_list

encoding_list 是一个字符编码列表。 编码顺序可以由数组或者逗号分隔的列表字符串指定。

如果省略了 encoding_list 将会使用 detect_order。

strict

strict 指定了是否严格地检测编码。 默认是 FALSE。

返回值

检测到的字符编码,或者无法检测指定字符串的编码时返回 FALSE。

mb_convert_encoding — 转换字符的编码

说明

string 
mb_convert_encoding ( 
string $str , 
string $to_encoding [, 
mixed $from_encoding = mb_internal_encoding() ] )

将 string 类型 str 的字符编码从可选的 from_encoding 转换到 to_encoding。

参数

str

要编码的 string

to_encoding

str 要转换成的编码类型。

from_encoding

在转换前通过字符代码名称来指定。它可以是一个 array 也可以是逗号分隔的枚举列表。 如果没有提供 from_encoding,则会使用内部(internal)编码。

参见支持的编码

返回值

编码后的 string

时间: 2024-10-12 01:25:02

PHP检测当前字符编码并转码的相关文章

Python——day3_基础1_集合,文件操作,字符编码与转码

集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时

python字符编码与转码

python 2.x 字符编码与转码 打印系统默认编码格式 import sys print(sys.getdefaultencoding()) UTF-8 转 gbk 方式:utf-8--转成--unicode--转成--gbk a = "你好" print a utf8_to_unicode = a.decode("utf-8")                 #utf-8转unicode print utf8_to_unicode unicode_to_gb

Python基础3 文件操作、字符编码与转码

文件操作 对文件操作过程 打开文件,得到文件句柄赋值给变量 操作 关闭文件 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:   不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,同a "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用) rU r+U "b

python学习笔记(集合的使用、文件操作、字符编码与转码、函数)

集合 集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. 集合元素(set elements):组成集合的成员 为什么需要集合? 集合的作用 1 .列表去重复数据 按照现有知识的解决思路:先设置空列表,然后使用for寻获,把需要去重的列表的第一个数据放到新列表中,然后依次取出第二个数据,把第二个数据和第一个数据作比较,如果不一样,则存入新列表中:以此类推,每取一次都要和新列表中的数据作对比,不一样的则添加入新列表中. 2. 关系测试 比如有学员同时报了python班和l

Python 三级菜单-字符编码和转码-集合的操作-文件的操作

三级菜单: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ "人民广场":{ '炸鸡店

python的 随手记----字符编码与转码

一.前提 那么到底什么是编码呢? //ASCII 记住一句话:计算机中的所有数据,不论是文字.图片.视频.还是音频文件,本质上最终都是按照类似 01010101 的二进制存储的. 再说简单点,计算机只懂二进制数字! 所以,目的明确了:如何将我们能识别的符号唯一的与一组二进制数字对应上?于是美利坚的同志想到通过一个电平的高低状态来代指0或1, 八个电平做为一组就可以表示出 256种不同状态,每种状态就唯一对应一个字符,比如A--->00010001,而英文只有26个字符,算上一些特殊字符和数字,1

汉字字符编码与转码详解,iso-8859-1的妙用

程序中有汉字参数,经常会遇到编码转码问题,总结下: 1.汉字为多字节字符,须多字节编码解码,如"测试".getBytes("gb2312"); 这样"测试".getBytes("gb2312")就变成一个byte数组,这时候你可以随意重新指定编码如iso-8859-1, String s1=new String("测试".getBytes("gb2312"),"iso-8859

python 字符编码与转码

一. 字符编码 ASCII: 一个字节,最多能表示255个字符 GB2312(1980年):一共收录了7445个字符,包括6763个汉字和682个其它符号. GBK1.0(1995年):收录了21886个符号,它分为汉字区和图形符号区.汉字区包括21003个字符. GB18030(2000年):取代GBK1.0的正式国家标准,该标准收录了27484个汉字. Unicode(统一码,万国码) 为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有

004-python基础-字符编码与转码

一.三种编码方式 ASCII:是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号. Unicode(统一码.万国码.单一码):是一种在计算机上使用的字符编码,规定所有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536. UTF-8: 是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:as