摘要:多字节字符串假设字符串中的每一个字符都是八位字符,占用一个字节的内存。如果使用原生的字符串函数处理这些多字节字符串,会得到意外的错误。字符编码一定要知道数据的字符编码。扩展不仅可以处理字符串,还可以在不同的字符编码之间转换多字节字符串。
1).PHP假设字符串中的每一个字符都是八位字符,占用一个字节的内存。但是,你有可能会遇到多字节字符串。
2).这里所说的多字节字符串是指不在传统的128个ASCII字符集中的字符。如果使用PHP原生的字符串函数处理这些多字节Unicode字符串,会得到意外的错误。
3).安装mbstring扩展来处理这些问题。例如使用处理多字节的字符串函数mb_strlen()函数来替代原生的strlen()函数。
1).一定要知道数据的字符编码。
2).使用UTF-8字符编码存储数据。
3).使用UTF-8字符编码输出数据。
4).mbstring扩展不仅可以处理Unicode字符串,还可以在不同的字符编码之间转换多字节字符串。
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
摘要:主要以的或为例,其他数据库中基本也有类型并需要提供长度的参数。以前的版本的最大长度就是,之后是。而之后表示长度的字节数会变成个。尽管是动态存储的,但别的数据库引擎不一定是如此。不管其中每一行存储的数据是长还是短。 http://dba.stackexchange.com/questions/76469/mysql-varchar-length-and-... 主要以mysql...
摘要:处理文本的最佳实践是三明治要尽早把输入例如读取文件时的字节序列解码成字符串。这种三明治中的肉片是程序的业务逻辑,在这里只能处理字符串对象。 处理文本的最佳实践是Unicode 三明治 要尽早把输入(例如读取文件时)的字节序列解码成字符串。 这种三明治中的肉片是程序的业务逻辑,在这里只能处理字符串对象。 在其他处理过程中,一定不能编码或解码。 对输出来说,则要尽量晚地把字符串编码成字...
阅读 2248·2023-04-26 00:01
阅读 780·2021-10-27 14:13
阅读 1787·2021-09-02 15:11
阅读 3348·2019-08-29 12:52
阅读 504·2019-08-26 12:00
阅读 2549·2019-08-26 10:57
阅读 3349·2019-08-26 10:32
阅读 2830·2019-08-23 18:29