LMLPHP后院

使用PHP字符串处理mb系列函数注意事项技术

maybe yes 发表于 2016-06-04 18:24

PHP 的 mbstring 系列函数使用的时候需要设置内部编码如果没有设置,则默认跟随系统编码。关于 mbstring 系列函数出现乱码问题,网上的很多被转载的文章大都说是没有安装 mbstring 扩展导致。如果没有安装 mbstring 扩展,报错的就是 Undefined function,而不是乱码问题

很多程序开发的时候,由于程序员的经验不够丰富,开始运行的时候没有任何问题,一旦迁移环境,可能系统就会出各种问题,甚至系统崩溃。这些都是由于在使用 mbstring 系列函数的时候没有初始化编码所致,开发和首次运行的机器上系统默认编码是 UTF-8,和程序运行的时候编码一致,问题没有被触发,如果迁移机器,或者在 Windows 平台运行,问题可能就出来了。

为了提高程序的健壮性,建议使用 mbstring 系列函数前使用 mb_internal_encoding 设置编码,某些函数也可以单独指定编码,如 mb_strlen、mb_substr、html_entity_decode 等。

mb_internal_encoding('UTF-8');
相关文章
2024-04-19 22:44:47 1713537887 0.006681