在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文件保存格式的编码一致,在使用函数时要考虑到!

原作地址:http://blog.creke.net/756.html
最后一句非常重要,比如从其他URL获取信息,处理里面的中文,用mb_detect_encoding得知获取信息编码是UTF-8,但php页面却是GBK格式,用strrpos等函数无法得到结果。绕了弯路。。。。。。

PHP查找中文字符的解决方案的更多相关文章

  1. Sublime 、NotePad++中查找匹配中文字符

    在Sublime .NotePad++中可以使用正则表达式 [\x{4e00}-\x{9fa5}] 查找匹配中文字符.

  2. php 查找字符串里面中文字符第一次出现的位置,并插入字符串

    //查找字符串里面中文字符第一次出现的位置,并插入字符串 function find_first_chinese_insert($str,$insert_str){ $count = mb_strle ...

  3. Notepad++正则表达式查找替换文本中文字符

    测试需求 测试工具中xml配置文件中注释字段包含中文字符,在Win10系统下使用工具中偶尔会出现中文乱码导致配置文件失效.解决方法将配置文件中的中文注释换成英文注释或者直接替换删除.如何将配置文件中的 ...

  4. PyCharm 中文 字符 python 报错 的 完美 解决方案!

    PyCharm 中文 字符 python 报错 的 完美 解决方案! #_*_ coding:utf-8_*_ https://www.python.org/dev/peps/pep-0263/ 到p ...

  5. URL传递中文字符,特殊危险字符的解决方案(仅供参考)urldecode、base64_encode

    很多时候,我们需要在url中传递中文字符或是其它的html等特殊字符,似乎总会有各种乱,不同的浏览器对他们的编码又不一样, 对于中文,一般的做法是: 把这些文本字符串传给url之前,先进行urlenc ...

  6. [python]有中文字符程序异常的解决方案

    一. 含有中文字符无法运行 在python3中用的是Unicode编码,Unicode号称万国码,可以向所有的编码进行兼容.不会出现这种问题. Python2中使用的是ASCII编码,会出现这种问题. ...

  7. poco json 中文字符,抛异常JSON Exception -->iconv 转换 备忘录。

    起因 最近linux服务器通信需要用到json. jsoncpp比较出名,但poco 1.5版本以后已经带有json库,所以决定使用poco::json(linux 上已经用到了poco这一套框架). ...

  8. 笔记:PHP查询mysql数据后中文字符乱码

    新建表Clubs CREATE TABLE `Clubs` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) CHARACTER SET utf8 NOT NULL ...

  9. PHP解码unicode编码中文字符代码示例

    在抓取某网站数据,结果在数据包中发现了一串编码的数据:"......\u65b0\u6d6a\u5fae\u535a......", 这其实是中文被unicode编码后了的数据,想 ...

随机推荐

  1. python 小练习 11

    桌子上有一堆数量不超过20的果子,每个果子的重量都是不超过20的正整数,全部记录在列表 L 里面.小明和小红决定平分它们,但是由于他们都太自私,没有人愿意对方比自己分得的总重量更多.而果子又不能切开, ...

  2. js 刷新页面

    Javascript刷新页面的几种方法:1 history.go(0)2 window.location.reload() window.location.reload(true) 3 locatio ...

  3. 第5章——使用 Razor(MVC框架视图引擎)

    Razor 是MVC框架视图引擎的名称. 本章提供 Razor 语法的快速教程,以使你能够识别 Razor 表达式. 本章不打算提供 Razor 的完整参考,而将其视为一个语法速成教程.在本书的后续内 ...

  4. 算法笔记——C/C++语言基础篇(已完结)

    开始系统学习算法,希望自己能够坚持下去,期间会把常用到的算法写进此博客,便于以后复习,同时希望能够给初学者提供一定的帮助,手敲难免存在错误,欢迎评论指正,共同学习.博客也可能会引用别人写的代码,如有引 ...

  5. 守护进程的创建(syslog函数)

    守护进程(daemon)是指在后台运行的,没有控制终端与之相连的进程.它独立于控制终端,通常周期性的执行某种任务. 守护进程是一种很有用的进程.Linux的大多数服务器就是用守护进程的方式实现的,如I ...

  6. [Android Studio] Android Studio常用快捷键

    [Android Studio] Android Studio常用快捷键   (会持续更新)这边讲的常用快捷键是指做完Keymap到Eclipse后的,不是纯Android Studio的,这边主要讲 ...

  7. bzoj1092

    题解: 按照时间枚举一下那些点有水 然后用物理方案来计算 代码: #include<bits/stdc++.h> ,M=; int n,m,x,y,z,i,A,B,T,g[N],v[M], ...

  8. python运维01-获取系统基础信息

    1.获取系统主机名,IP,MAC地址 import socket import uuid macs = uuid.UUID(int = uuid.getnode()).hex[-12:] mac = ...

  9. 目录遍历漏洞简介 转载于h3c

    参考文章: 攻防:目录遍历漏洞简介

  10. PyQt5编程:鼠标事件

    参考链接:https://www.cnblogs.com/zhuluqing/p/9028816.html 一.每个事件都被封装成相应的类: pyqt中,每个事件类型都被封装成相应的事件类,如鼠标事件 ...