php使用substr中文乱码问题
周天的时候对网站 https://www.javasec.cn 进行bug修复和功能更新,其中遇到一个比较有意思的小问题:
问题:
网站的置顶推荐中,有文本略缩。但是无论怎么修改最后一个字符始终现实为乱码。
因为前端使用模板解析,{content}...所以看不出来是什么问题导致了,跟进发现看看是在哪里
解决:
1.查看这个中文是否非utf-8,是不是这个文字乱码
2.查看php配置数据库编码是否正确
3.查看数据库编码是否正确
4.查看{contnet}的生成来源
echo str_replace(array('{permalink}', '{title}','{content}'),array($val['permalink'], $val['title'],substr($val['text'],0,250,"utf-8")),$defaults['xformat']);
找到这个conent的数据来源,因为substr()根据字节,中文的字节比较特殊,所以没办法保证截取正确的情况下,果断放弃了这个函数。
echo str_replace(array('{permalink}', '{title}','{content}'),array($val['permalink'], $val['title'],mb_substr($val['text'],0,130,"utf-8")),$defaults['xformat']);
解决。
php使用substr中文乱码问题的更多相关文章
- php substr中文乱码最有效到解决办法 转:http://blog.sina.com.cn/s/blog_49b531af0100esah.html
(2009-07-29 12:29:38) 转载▼ 标签: php substr文乱码 网站开发 it 直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一 ...
- PHP用substr截取字符串出现中文乱码问题用mb_substr
PHP用substr截取字符串出现中文乱码问题用mb_substr实例:mb_substr('截取中文乱码问题测试',0,5, 'utf-8'); 语法 : string substr (string ...
- ueditor 1.4.3 gbk asp 上传中文乱码 终极解决方法 ie6 ie8 也适用
[摘要:百度编纂器1.43 gbk asp 题目 1.firefox3.0下 单图上传 面没有了 面多图上传 中央的蓝色按钮(即 面击挑选图片)没有表现(附件上传出那个题目) 没有晓得我的水狐吃翔了 ...
- php中文乱码
一. 首先是PHP网页的编码 1. php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Typ ...
- Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)
中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方 ...
- smarty中用truncate来截取中英文字符串及避免中文乱码问题
smarty中用truncate来截取含有中英文的字符串,可能会出现中文乱码问题.字符串截取长度不一问题,下面是新建个扩展函数,或修改原Truncate函数方法也可以的.扩展smarty/plugin ...
- PHP中文乱码解决办法[转]
一.首先是PHP网页的编码1. php文件本身的编码与网页的编码应匹配a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/htm ...
- JS解决URL传递参数中文乱码问题
function getUrlParam(name){ // 用该属性获取页面 URL 地址从问号 (?) 开始的 URL(查询部分) var url = window.location.search ...
- PHP中文乱码的常见解决方法总结
PHP中文乱码是PHP开发中的常见问题之一.PHP中文乱码有时发生在网页本身,有些产生在于MySQL交互的过程中,有时与操作系统有关.下面进行一番总结. 一.首先是PHP网页的编码 1. php文件本 ...
随机推荐
- 【LABVIEW到C#】4》String的操作之Search and Replace.vi
C#封装如下: public class SearchAndRepalce : Darrenstring { public bool replaced; private string stringou ...
- python中的set类型
一. 定义 set是一个无序且不重复的元素集合 set和dict类似,是一组key的集合,但不存储value set有以下特性: 1. 由于key不能重复,所有set中没有重复的key 2. 元素为不 ...
- Linux:配置Linux网络和克隆虚拟机并更改配置
Linux学习笔记1:配置Linux网络和克隆虚拟机并更改配置 一.配置Linux网络 在安装Linux的时候,一定要保证你的物理网络的IP是手动设置的,要不然会在Linux设置IP连通网络的时候 ...
- [转载]java操作word生成水印
应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...
- 通过IndexOf获得DataRow在DataTable中的行号
Row = dt.Rows.IndexOf(dr);
- 一步一步写jQuery插件
转载自:http://www.cnblogs.com/joey0210/p/3408349.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquer ...
- php之接口内curl请求其他接口
今天遇到一个需要写curl的需求,情况是这样的: 同一应用的A系统(购物系统),B系统(答题系统)相互独立,用户数据全部存在于A系统的数据库中, 现在处于B系统的某项操作中,需要在B系统中验证当前请求 ...
- 利用aop完成功能权限验证遇到的问题
报错信息如上,找不到此方法原因是services层的有的方法带了parameters! 解决:注解解析器这里的代码不变: 将得到的service层的class遍历所有方法(存在效率问题) 匹配该方法 ...
- cocos2d-x3.16 default模式项目 Android Studio C++文件编译失败问题
gradle sync正常,但是在编译的时候几乎自己写的Classes里全部c++文件的最后一行都在报错,原来是3.16 模板cpp-template-default内的Android.mk文件内这一 ...
- Django Rest Framework - Could not resolve URL for hyperlinked relationship using view name “user-detail”
要把跟当前表相关的viewset定义出来 http://stackoverflow.com/questions/20550598/django-rest-framework-could-not-res ...