美文网首页简书Web开发PHP经验分享PHP实战
PHP最佳实践之多字节字符串、字符编码

PHP最佳实践之多字节字符串、字符编码

作者: 萧潇在jianshu | 来源:发表于2017-07-20 21:51 被阅读38次
    多字节字符串

    1).PHP假设字符串中的每一个字符都是八位字符,占用一个字节的内存。但是,你有可能会遇到多字节字符串。
    2).这里所说的多字节字符串是指不在传统的128个ASCII字符集中的字符。如果使用PHP原生的字符串函数处理这些多字节Unicode字符串,会得到意外的错误。
    3).安装mbstring扩展来处理这些问题。例如使用处理多字节的字符串函数mb_strlen()函数来替代原生的strlen()函数。

    字符编码

    1).一定要知道数据的字符编码。
    2).使用UTF-8字符编码存储数据。
    3).使用UTF-8字符编码输出数据。
    4).mbstring扩展不仅可以处理Unicode字符串,还可以在不同的字符编码之间转换多字节字符串。

    输出UTF-8数据

    1).在php.ini中作如下配置

    default_charset = "UTF-8";
    

    2)例如header函数明确指定字符集,在PHP返回的响应中,Content-Type首部默认也使用了这个默认值

    <?php
    header('Content-Type: application/json;charset=utf-8');
    

    3).只要PHP已经明确返回了输出,就不能使用header()函数了
    4).建议在HTML文档的头部也加入响应的meta标签

    <meta charset="UTF-8"/>
    

    专题系列

    PHP专题系列目录地址:https://github.com/xx19941215/webBlog
    PHP专题系列预计写二十篇左右,主要总结我们日常PHP开发中容易忽略的基础知识和现代PHP开发中关于规范、部署、优化的一些实战性建议,同时还有对Javascript语言特点的深入研究。

    相关文章

      网友评论

        本文标题:PHP最佳实践之多字节字符串、字符编码

        本文链接:https://www.haomeiwen.com/subject/buwjkxtx.html