search

Home  >  Q&A  >  body text

utf-8 - PHP里面如何做到统一使用UTF8编码?

PHP语言一直没有解决UTF8(unicode)问题,在多种编码的时候比较乱。
写一个truncate函数, 还要用专门的mbstring来处理。

在现有条件下(php5+ ~ php7), 如何才能做到统一使用utf8编码呢?

python3+, golang 等全都内建支持和使用unicode编码......

PHPzPHPz2902 days ago391

reply all(2)I'll reply

  • 迷茫

    迷茫2017-04-10 16:49:01

    严格意义上来说,PHP没有字符串的概念,PHP中的string其实是字节数组的概念

    字符串(string)的单位是字符(character),字节数组(byte[])的单位是字节(byte)

    一个或多个字节如何组成字符的编码方式就是所谓的编码了(比如一对一而且只支持128个字符的ASCII)

    对于PHP来说,他很单纯地只处理字节,不处理字符,也可以说天生支持任意编码,唯一需要注意的就是那些号称处理string的函数都不是用于字符串处理,而是用于字节数组(二进制数据)的,需要真正意义的字符串处理的时候应该用到你说的mb库

    而如果题主你的问题是数据来源编码不同的场景,那么无论任何语言处理方式都只能做编码转换,mb或iconv都能帮到你

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 16:49:01

    转码啊。

    对那些需要统一编码的进行转码。

    获取编码类型:mb_detect_string()

    编码转换:iconv() 等,详情看php手册,关于国际字符,多字节字符处理方面的……

    reply
    0
  • Cancelreply