phpcms中的htmlspecialchars自动判断字符集失败导致中文挨抛弃
来源:互联网 发布:网络管理协议工作流程 编辑:程序博客网 时间:2024/06/09 19:31
phpcms是从线上一台linux机器下载下来的.
编码是gbk版本的.
下载时候,不懂是否上传人使用ftp有问题,还是直接使用tar解压还是怎么回事,下载下来的text全部变成cr换行符形式,而不是window的换行符.导致无法运行.在window下面通过部分转换成window换行符后.能运行.
但是测试发现编辑内容时,中文总是无法显示出来,挨过滤掉.
跟踪到最后,发现是在htmlspecialchars进行html过虑时出现丢失了.
以为是数据库传过来的数据是utf8导致,测试发现竟然不是.
奇怪了.
于是拿一个简单的php测试同样存在这样情况.
测试代码
<?php
header('Content-type: text/html; charset=gb2312');
echo '<pre>';
$s = "kkkk顺顺因在国";
echo mb_detect_encoding($s);
var_dump(htmlspecialchars($s,null) );
var_dump(htmlspecialchars($s,null,'936') );
?>
</pre>
---------
看来是误判了.关于编码问题总是比较麻烦.
- phpcms中的htmlspecialchars自动判断字符集失败导致中文挨抛弃
- phpcms文章内容不显示即htmlspecialchars()导致中文丢失
- 字符集导致的备份失败
- php中的htmlspecialchars函数
- 关于AIX中的中文字符集
- PHP自动判断字符集并转码
- 【资料】自动判断文本流的字符集
- MySQL 字符集导致SQL连接之后中文乱码的问题!
- htmlspecialchars
- htmlspecialchars()
- htmlspecialchars
- 字符串中的中文判断
- 字符集、字符编码、XML中的中文编码
- 字符集、字符编码、XML中的中文编码
- Oracle 数据库字符集与客户端字符集不一致,导致中文数据显示乱码
- phpcms采集中的正则中使用中文拼写时注意
- php奇葩错误:htmlspecialchars处理中文丢失
- wofstream写中文失败,导致stream对象badbit
- 支持在window7下创建linux分区ext4的工具
- 给android增加虚拟内存(本人未实践过)
- AT命令
- android debug(adb)window中的使用一些方法
- 为了ota且能禁用不想用内置程序方法(猜想)
- phpcms中的htmlspecialchars自动判断字符集失败导致中文挨抛弃
- 隐藏 关闭键盘
- php运行后提示页面被重置可能原因
- 让收件人看到自已定的发件人 名字 (displayname)
- 开源遥感软件(未完待续)
- <?php}?>格式导致错误 Parse error: syntax error, unexpected end of file in *.php on line 374
- jquery.get的参数中文自动编码与header(\'Content-type: text/html; charset=gbk\');乱码问题
- js 的url中文编码与php中文的url编码关系测试
- phpcms只对客户端数据过行过滤,不在数据动作时转义问题与不足