PHP语言一直没有解决UTF8(unicode)问题,在多种编码的时候比较乱。
写一个truncate函数, 还要用专门的mbstring来处理。
在现有条件下(php5+ ~ php7), 如何才能做到统一使用utf8编码呢?
python3+, golang 等全都内建支持和使用unicode编码......
回复内容:
PHP语言一直没有解决UTF8(unicode)问题,在多种编码的时候比较乱。
写一个truncate函数, 还要用专门的mbstring来处理。
在现有条件下(php5+ ~ php7), 如何才能做到统一使用utf8编码呢?
python3+, golang 等全都内建支持和使用unicode编码......
严格意义上来说,PHP没有字符串的概念,PHP中的string其实是字节数组的概念
字符串(string)的单位是字符(character),字节数组(byte[])的单位是字节(byte)
一个或多个字节如何组成字符的编码方式就是所谓的编码了(比如一对一而且只支持128个字符的ASCII)
对于PHP来说,他很单纯地只处理字节,不处理字符,也可以说天生支持任意编码,唯一需要注意的就是那些号称处理string的函数都不是用于字符串处理,而是用于字节数组(二进制数据)的,需要真正意义的字符串处理的时候应该用到你说的mb库
而如果题主你的问题是数据来源编码不同的场景,那么无论任何语言处理方式都只能做编码转换,mb或iconv都能帮到你
转码啊。
对那些需要统一编码的进行转码。
获取编码类型:mb_detect_string()
编码转换:iconv() 等,详情看php手册,关于国际字符,多字节字符处理方面的……
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网