iconv vs mb_convert_encoding

简介: iconv字符串按要求的字符编码来转换string iconv ( string incharset,stringout_charset , string $str )将字符串 str 从 in_charset 转换编码到 out_charset。

iconv

字符串按要求的字符编码来转换
string iconv ( string incharset,stringout_charset , string $str )
将字符串 str 从 in_charset 转换编码到 out_charset。

mb_convert_encoding

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

两者区别

  • 参数的顺序是相反的
  • iconv php自带方法
  • iconv 除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。
  • 需要先enable mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉
  • mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,但是执行效率比iconv差太多
  • mb_convert_encoding 可以处理HTML实体符号

参考资料

目录
打赏
0
0
0
0
3
分享
相关文章
成功解决:Invalid encoding name “UTF8“
这篇文章解释了如何解决MyBatis配置文件中由于编码格式错误导致的"Invalid encoding name 'UTF8'"问题,即将`encoding="UTF8"`更正为`encoding="UTF-8"`。
成功解决:Invalid encoding name “UTF8“
pandas - read_csv报错:‘utf-8‘/‘gbk‘ codec can‘t decode byte 0xb1 in position 0:invalid start byte
pandas - read_csv报错:‘utf-8‘/‘gbk‘ codec can‘t decode byte 0xb1 in position 0:invalid start byte
519 0
utf-8和utf-8 mb4区别
总之,`utf-8`和 `utf8mb4`都是用于表示Unicode字符集中的字符,区别在于 `utf8mb4`支持更广泛的字符范围,适用于需要存储特殊字符(如Emoji)的情况。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
218 5
utf8mb4 COLLATE utf8mb4 unicode ci
utf8mb4 COLLATE utf8mb4 unicode ci
187 1
UnicodeEncodeErron: ‘gbk‘ codec can‘t encode character ‘ \ue615‘ in position 346139...编码问题解决
不论使用urllib还是使用requests库经常会遇到中文编码错误的问题,我就经常遇到,因为python安装在windows平台上,cmd的默认编码为GBK,所以在cmd中显示中文时会经常提示gbk编码错误。
197 0
【解决】YOLOv6.1安装requirements.txt报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x84
【解决】YOLOv6.1安装requirements.txt报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x84
246 0
ssd [Error] UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position【已解决】
ssd [Error] UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position【已解决】
438 0
ssd [Error] UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position【已解决】
UnicodeEncodeError: 'latin-1' codec can't encode characters in position报错问题
UnicodeEncodeError: 'latin-1' codec can't encode characters in position报错问题
1309 1
pip安装报错:UnicodeDecodeError 'utf-8' codec can't decode byte 0xc3 in position 4
pip安装报错:UnicodeDecodeError 'utf-8' codec can't decode byte 0xc3 in position 4
605 2
SyntaxError: Non-ASCII character ‘\xe6‘ in file E:/pythondemo/example2.py on line 2, but no encoding
SyntaxError: Non-ASCII character ‘\xe6‘ in file E:/pythondemo/example2.py on line 2, but no encoding
342 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等