php 过滤非utf8,PHP如何将不是UTF8的字符过滤掉(代码)
本篇文章给大家带来的内容是关于PHP如何将不是UTF8的字符过滤掉(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。function utf8_filter($data)
{
$str = "";
for($n = 0; $n < strlen($data);)
{
$s = substr($data, $n, 1);
$v = ord($s);
if($v >= 127)
{
++$n;
$cnt = 0;
$tmp = $v;
while($tmp & 0x80)
{
$tmp = $tmp << 1;
++$cnt;
}
$x = 0;
while($x < $cnt && $n < strlen($data))
{
$s = substr($data, $n, 1);
if((ord($s) & 0xC0) == 0x80)
{
++$n;
++$x;
}else{
break;
}
}
if($x + 1 == $cnt)
{
$str = $str . substr($data, $n - $cnt, $cnt);
}else{
while($n < strlen($data))
{
$s = substr($data, $n, 1);
if(ord($s) & 0x80)
{
++$n;
}else{
break;
}
}
}
}else{
$str = $str. $s;
++$n;
}
}
return $str;
}
相关推荐:
过滤utf8 字符中超过三个字节的字符,或者非utf8字符
PHP实现过滤掉非汉字字符只保留中文字符,
php 过滤非utf8,PHP如何将不是UTF8的字符过滤掉(代码)相关推荐
- plotly基于dataframe数据绘制股票K线图并过滤非交易时间
plotly基于dataframe数据绘制股票K线图并过滤非交易时间 #ohlc过滤非交易时间: import plotly as py # 导入plotly库并命名为py import plotly ...
- UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理(c++实现)...
一.字符编码简单介绍 1. ASCII码 在计算机内部,全部的信息终于都表示为一个二进制的字符串.每个二进制位(bit)有0和1两种状态,因此八个二进制位就能够组合出256种状态,这被称为一个字节(b ...
- java utf8转iso8859-1_在Java中将UTF-8转换为ISO-8859-1
小编典典 我不确定标准库中是否有将执行此操作的规范化例程.我不认为标准的Unicode规范化程序会处理"智能"引号的转换- 但不要引用我. 明智的做法是转储ISO-8859-1并开 ...
- php里的utf-8编码,php – 修复损坏的UTF-8编码
我正在修复一些糟糕的UTF-8编码.我目前正在使用PHP 5和MySQL. 在我的数据库中,我有一些不良编码的实例,如:î >数据库排序规则是utf8_general_ci > PH ...
- 编码速度非常慢_有BUG?MySQL中的 utf8 居然并不是真正的UTF-8编码?
记得去年我在往MySQL存入emoji表情 时,一直出错,无法导入.后来找到办法 -- 通过把utf8改成utf8mb4就可以了,并没有深究. 一年后,我看到一篇文章讲到emoji文字占4个字节,通常 ...
- ascii转utf8 php,PHP 将ASCII转换为UTF-8编码
如果我们知道当前的编码是ASCII,则可以使用'iconv'函数将ASCII转换为UTF-8.原始字符串可以作为参数传递给iconv函数,以将其编码为UTF-8. 示例<?php $str = ...
- 是否应该使用utf-8 bom——因DirectVobSub不支持utf-8 no bom带来的问题
使用DirectVobSub作为播放器的字幕插件. 把字幕转换成utf-8 no bom格式,播放时字幕显示乱码. 把字幕转换成utf-8 bom格式,播放时字幕正常. 看来DirectVobSub不 ...
- html中转换utf8编码,如何将html网页utf-8编码转换到utf-8编码互转换
HTML网页是有编码的,在head区域内的这句话是告诉浏览器,该网页采用的是utf-8编码,也就是简体中文编码.当文章/网页中包含繁体中文.日文.韩文时,这些内容可能无法被正确编码. UTF-8是UT ...
- c# 正则过滤非中文字符
Regex.Replace(content, @"[^\u4e00-\u9fa5]", "") 转载于:https://www.cnblogs.com/xsmh ...
最新文章
- 2022-2028年中国磷肥工业投资分析及前景预测报告
- Android 5.0中的FDE功能实现
- Winform导入文件
- mysql text字段导出_用命令创建MySQL数据库
- jsp 四大作用于和九大内置对象
- 机器学习笔记(李宏毅 2021/2022)——第一节:基本概念
- 计算机网络telnet命令作用,全面解析telnet命令
- HDU 6599 Palindromic_Automaton
- 单引号、双引号、三引号用法
- 汉诺塔游戏(Python)
- 前端研发生态环境构建经验谈
- 微信小程序之在线任务发布与接单平台(2)
- 怎么删除电脑上的另一个用户名?删除电脑上多余的用户名
- 源码解析2-GUI-绘制引擎(QPainter源码分析 )
- Android客户端 和 pc服务器 建立socket连接并发送数据
- 路由器WIFI信号有时找不到,挨在边上也找不到的解决办法 - 找不到WIFI信号 - 家里WIFI找不到
- 命令行修改mysql密码
- Python语言程序设计基础科学计算与可视化小练习
- 偶然当程序员却拿下图灵奖,超算榜单之父讲述人生开挂经历
- Spark 参数说明
热门文章
- Android零基础入门第86节:探究Fragment生命周期
- jQuery中click事件多次触发解决方案
- js 能实现监听F5页面刷新子iframe 而父页面不刷新
- FPGA实现VGA显示(四)——————读取ROM显示彩色图片(a)
- java hmget 最大值,【Redis】基本数据类型及命令操作(超详细)
- 文本词频统计是字典吗_TF-IDF词频逆文档频次算法
- springBoot 2.2.6 项目中html页面样式效果丢失
- Whitelabel Error Page : spring boot项目启动后,无法访问@RequestMapping标注的请求
- HTM皮质学习算法资料
- 实战MHDD检测硬盘