资讯专栏INFORMATION COLUMN

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

Cympros / 1756人阅读

摘要:多字节字符串假设字符串中的每一个字符都是八位字符,占用一个字节的内存。如果使用原生的字符串函数处理这些多字节字符串,会得到意外的错误。字符编码一定要知道数据的字符编码。扩展不仅可以处理字符串,还可以在不同的字符编码之间转换多字节字符串。

多字节字符串

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首部默认也使用了这个默认值


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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23334.html

相关文章

  • PHP新手最佳实践

    不要使用mysql_*系列函数,查询时尽量对sql语句进行预处理 PHP官方目前已经将此系列函数标记为弃用状态,添加PHP对mysql的支持,编译时使用下面的参数 --enable-mysqlnd --with-pdo-mysql --with-mysqli --with-mysql=mysqlnd mysql_*系列函数不支持 预处理语句,事务,存储过程,异步查询,多条...

    willin 评论0 收藏0
  • 数据库varchar长度最佳实践

    摘要:主要以的或为例,其他数据库中基本也有类型并需要提供长度的参数。以前的版本的最大长度就是,之后是。而之后表示长度的字节数会变成个。尽管是动态存储的,但别的数据库引擎不一定是如此。不管其中每一行存储的数据是长还是短。 http://dba.stackexchange.com/questions/76469/mysql-varchar-length-and-... 主要以mysql...

    894974231 评论0 收藏0
  • 数据库varchar长度最佳实践

    摘要:主要以的或为例,其他数据库中基本也有类型并需要提供长度的参数。以前的版本的最大长度就是,之后是。而之后表示长度的字节数会变成个。尽管是动态存储的,但别的数据库引擎不一定是如此。不管其中每一行存储的数据是长还是短。 http://dba.stackexchange.com/questions/76469/mysql-varchar-length-and-... 主要以mysql...

    xuexiangjys 评论0 收藏0
  • 数据库varchar长度最佳实践

    摘要:主要以的或为例,其他数据库中基本也有类型并需要提供长度的参数。以前的版本的最大长度就是,之后是。而之后表示长度的字节数会变成个。尽管是动态存储的,但别的数据库引擎不一定是如此。不管其中每一行存储的数据是长还是短。 http://dba.stackexchange.com/questions/76469/mysql-varchar-length-and-... 主要以mysql...

    livem 评论0 收藏0
  • 流畅的python读书笔记-第四章 编码问题

    摘要:处理文本的最佳实践是三明治要尽早把输入例如读取文件时的字节序列解码成字符串。这种三明治中的肉片是程序的业务逻辑,在这里只能处理字符串对象。 处理文本的最佳实践是Unicode 三明治 要尽早把输入(例如读取文件时)的字节序列解码成字符串。 这种三明治中的肉片是程序的业务逻辑,在这里只能处理字符串对象。 在其他处理过程中,一定不能编码或解码。 对输出来说,则要尽量晚地把字符串编码成字...

    leone 评论0 收藏0

发表评论

0条评论

Cympros

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<