PHP查找中文字符的解决方案

在PHP中查找中文字符,有两种方案。

1、中文字符是gbk(gb2312)

有两种解决方法

第一种:

将PHP保存为ASCII编码,然后使用strpos查找,如:

strpos($curl_res, '哈哈')

第二种:

将PHP保存为UTF-8无BOM编码,然后转换字符串编码为UTF-8,再查找,如:

$curl_res = mb_convert_encoding($curl_res, 'utf-8', 'gbk');

mb_strpos($curl_res, '哈哈');

2、中文字符是UTF-8

有两种解决方法

第一种:

将PHP保存为UTF-8无BOM编码,然后使用strpos查找,如:

strpos($curl_res, '哈哈')

第二种:

将PHP保存为ASCII编码,然后转换字符串编码为gbk,再查找,如:

$curl_res = mb_convert_encoding($curl_res, 'gbk', 'utf-8');

mb_strpos($curl_res, '哈哈');

应该可以看出一些规律,就是:函数中的中文字符串参数的编码和PHP文件保存格式的编码一致,在使用函数时要考虑到!

2 comments

  1. 天毅 says:

    Linux下默认编码就是utf8,就没这个麻烦了吧?

  2. Horry says:

    遇到编码的问题, 刚好看到这篇, 先谢过了

Leave a comment