php json_encode加密后,有的汉字显示不出来 急

bluezsh 2014-07-16 05:37:53
$e=mb_detect_encoding($str) 输出个字符编码类型,怎么会这样?
ASCII-------------
UTF-8-------------,王五
UTF-8-------------,赵六
ASCII-------------2014-07-16
-------------电子商务品牌市场部
-------------工作简报
UTF-8-------------未存档
UTF-8-------------未发送
-------------经理办公室
ASCII-------------2
UTF-8-------------以后的文号只须选择文号头后系统将自动生成
UTF-8-------------我 是 谁
ASCII-------------11
ASCII-------------2014
ASCII-------------
-------------测试部门
ASCII-------------
UTF-8-------------李刚,郭美美,赵智勇,张田欣
ASCII-------------Admin
-------------工作简报的总第期数和当年期数都可以由系统自动生成,生成后在发文表列表中可以查看
UTF-8-------------研发中心
-------------集团领导
-------------急
UTF-8-------------普通
ASCII-------------
ASCII-------------

使用 json_encode 对数组加密后,输出的汉字部分是空的,怎么回事了?
各位大侠们,有没有好的解决方案? 急救

...全文
533 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluezsh 2014-07-20
  • 打赏
  • 举报
回复 1
引用 8 楼 xuzuning 的回复:
你原始的数据是 gbk 的,这是不能被 json_encode 所接受的 json_encode 只接受 utf-8 编码的数据,于是 gbk 汉字因不能识别而丢弃 只有少量的字符组合被错误的解释为 utf-8 双字节字符而被保留了下来,造成了你的疑惑不解,要是一个都不剩的话,反倒使事情明朗化了 所以如果你需要产生 json 的话需要做一下编码转换
array_walk_recursive($ar, function(&$s) { $s = iconv('gbk', 'utf-8', $s); });
如果数据是从 mysql 读取的,那么只需在读取前执行一次
mysql_query('set names utf8');
就完事大吉了
非常感谢,我试试,我的是mssql数据库中读取过来的。
xuzuning 2014-07-20
  • 打赏
  • 举报
回复
你原始的数据是 gbk 的,这是不能被 json_encode 所接受的 json_encode 只接受 utf-8 编码的数据,于是 gbk 汉字因不能识别而丢弃 只有少量的字符组合被错误的解释为 utf-8 双字节字符而被保留了下来,造成了你的疑惑不解,要是一个都不剩的话,反倒使事情明朗化了 所以如果你需要产生 json 的话需要做一下编码转换
array_walk_recursive($ar, function(&$s) { $s = iconv('gbk', 'utf-8', $s); });
如果数据是从 mysql 读取的,那么只需在读取前执行一次
mysql_query('set names utf8');
就完事大吉了
bluezsh 2014-07-20
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
让你贴出序列化的结果,这样才能判断问题
a:26:{i:0;a:3:{s:12:"EnglistField";s:9:"field4219";s:10:"ChinaField";s:8:"附件名称";s:10:"FieldValue";s:0:"";}i:1;a:3:{s:12:"EnglistField";s:9:"field4223";s:10:"ChinaField";s:4:"打字";s:10:"FieldValue";s:5:",王五";}i:2;a:3:{s:12:"EnglistField";s:9:"field4224";s:10:"ChinaField";s:10:"部室校对人";s:10:"FieldValue";s:5:",赵六";}i:3;a:3:{s:12:"EnglistField";s:9:"field4225";s:10:"ChinaField";s:8:"封发日期";s:10:"FieldValue";s:0:"";}i:4;a:3:{s:12:"EnglistField";s:9:"field4377";s:10:"ChinaField";s:8:"主办部室";s:10:"FieldValue";s:18:"电子商务品牌市场部";}i:5;a:3:{s:12:"EnglistField";s:9:"field4378";s:10:"ChinaField";s:6:"文号头";s:10:"FieldValue";s:0:"";}i:6;a:3:{s:12:"EnglistField";s:9:"field4447";s:10:"ChinaField";s:4:"状态";s:10:"FieldValue";s:6:"未存档";}i:7;a:3:{s:12:"EnglistField";s:9:"field4480";s:10:"ChinaField";s:8:"发布状态";s:10:"FieldValue";s:6:"未发送";}i:8;a:3:{s:12:"EnglistField";s:9:"field4563";s:10:"ChinaField";s:10:"办公室核稿";s:10:"FieldValue";s:0:"";}i:9;a:3:{s:12:"EnglistField";s:9:"field4929";s:10:"ChinaField";s:4:"份数";s:10:"FieldValue";s:1:"2";}i:10;a:3:{s:12:"EnglistField";s:9:"field4933";s:10:"ChinaField";s:4:"标题";s:10:"FieldValue";s:40:"以后的文号只须选择文号头后系统将自动生成";}i:11;a:3:{s:12:"EnglistField";s:9:"field5051";s:10:"ChinaField";s:6:"主题词";s:10:"FieldValue";s:8:"我 是 谁";}i:12;a:3:{s:12:"EnglistField";s:9:"field5076";s:10:"ChinaField";s:2:"号";s:10:"FieldValue";s:2:"11";}i:13;a:3:{s:12:"EnglistField";s:9:"field5077";s:10:"ChinaField";s:2:"年";s:10:"FieldValue";s:4:"2014";}i:14;a:3:{s:12:"EnglistField";s:9:"field5108";s:10:"ChinaField";s:4:"temp";s:10:"FieldValue";s:0:"";}i:15;a:3:{s:12:"EnglistField";s:9:"field5183";s:10:"ChinaField";s:8:"部室核稿";s:10:"FieldValue";s:0:"";}i:16;a:3:{s:12:"EnglistField";s:9:"field5184";s:10:"ChinaField";s:4:"签发";s:10:"FieldValue";s:0:"";}i:17;a:3:{s:12:"EnglistField";s:9:"field5185";s:10:"ChinaField";s:4:"会签";s:10:"FieldValue";s:0:"";}i:18;a:3:{s:12:"EnglistField";s:9:"field5186";s:10:"ChinaField";s:6:"拟稿人";s:10:"FieldValue";s:5:"Admin";}i:19;a:3:{s:12:"EnglistField";s:9:"field5187";s:10:"ChinaField";s:4:"发送";s:10:"FieldValue";s:78:"工作简报的总第期数和当年期数都可以由系统自动生成,生成后在发文表列表中可以查看";}i:20;a:3:{s:12:"EnglistField";s:9:"field5188";s:10:"ChinaField";s:4:"抄报";s:10:"FieldValue";s:8:"研发中心";}i:21;a:3:{s:12:"EnglistField";s:9:"field5189";s:10:"ChinaField";s:4:"抄送";s:10:"FieldValue";s:8:"集团领导";}i:22;a:3:{s:12:"EnglistField";s:9:"field5190";s:10:"ChinaField";s:4:"缓急";s:10:"FieldValue";s:2:"急";}i:23;a:3:{s:12:"EnglistField";s:9:"field5191";s:10:"ChinaField";s:4:"性质";s:10:"FieldValue";s:4:"普通";}i:24;a:3:{s:12:"EnglistField";s:9:"field5193";s:10:"ChinaField";s:4:"文号";s:10:"FieldValue";s:0:"";}i:25;a:3:{s:12:"EnglistField";s:9:"field5350";s:10:"ChinaField";s:4:"递交";s:10:"FieldValue";s:0:"";}}
xuzuning 2014-07-16
  • 打赏
  • 举报
回复
让你贴出序列化的结果,这样才能判断问题
bluezsh 2014-07-16
  • 打赏
  • 举报
回复
json_decode 后: Array ( [0] => Array ( [EnglistField] => field4219 [ChinaField] => [FieldValue] => ) [1] => Array ( [EnglistField] => field4223 [ChinaField] => [FieldValue] => , ) [2] => Array ( [EnglistField] => field4224 [ChinaField] => [FieldValue] => , ) [3] => Array ( [EnglistField] => field4225 [ChinaField] => [FieldValue] => 2014-07-16 ) [4] => Array ( [EnglistField] => field4377 [ChinaField] => [FieldValue] => ) [5] => Array ( [EnglistField] => field4378 [ChinaField] => [FieldValue] => ) [6] => Array ( [EnglistField] => field4447 [ChinaField] => 状态 [FieldValue] => 未 ) [7] => Array ( [EnglistField] => field4480 [ChinaField] => [FieldValue] => 未 ) [8] => Array ( [EnglistField] => field4563 [ChinaField] => [FieldValue] => ) [9] => Array ( [EnglistField] => field4929 [ChinaField] => [FieldValue] => 2 ) [10] => Array ( [EnglistField] => field4933 [ChinaField] => [FieldValue] => ) [11] => Array ( [EnglistField] => field5051 [ChinaField] => [FieldValue] => ) [12] => Array ( [EnglistField] => field5076 [ChinaField] => [FieldValue] => 11 ) [13] => Array ( [EnglistField] => field5077 [ChinaField] => [FieldValue] => 2014 ) [14] => Array ( [EnglistField] => field5108 [ChinaField] => temp [FieldValue] => ) [15] => Array ( [EnglistField] => field5183 [ChinaField] => [FieldValue] => ) [16] => Array ( [EnglistField] => field5184 [ChinaField] => 签 [FieldValue] => ) [17] => Array ( [EnglistField] => field5185 [ChinaField] => [FieldValue] => ) [18] => Array ( [EnglistField] => field5186 [ChinaField] => [FieldValue] => Admin ) [19] => Array ( [EnglistField] => field5187 [ChinaField] => [FieldValue] => ) [20] => Array ( [EnglistField] => field5188 [ChinaField] => [FieldValue] => ) [21] => Array ( [EnglistField] => field5189 [ChinaField] => [FieldValue] => ) [22] => Array ( [EnglistField] => field5190 [ChinaField] => [FieldValue] => ) [23] => Array ( [EnglistField] => field5191 [ChinaField] => [FieldValue] => ) [24] => Array ( [EnglistField] => field5193 [ChinaField] => [FieldValue] => ) [25] => Array ( [EnglistField] => field5350 [ChinaField] => [FieldValue] => ) )
bluezsh 2014-07-16
  • 打赏
  • 举报
回复
json_encode 后: [{"EnglistField":"field4219","ChinaField":"","FieldValue":""},{"EnglistField":"field4223","ChinaField":"","FieldValue":","},{"EnglistField":"field4224","ChinaField":"","FieldValue":","},{"EnglistField":"field4225","ChinaField":"","FieldValue":"2014-07-16"},{"EnglistField":"field4377","ChinaField":"","FieldValue":""},{"EnglistField":"field4378","ChinaField":"","FieldValue":""},{"EnglistField":"field4447","ChinaField":"\u05f4\u032c","FieldValue":"\u03b4"},{"EnglistField":"field4480","ChinaField":"","FieldValue":"\u03b4"},{"EnglistField":"field4563","ChinaField":"","FieldValue":""},{"EnglistField":"field4929","ChinaField":"","FieldValue":"2"},{"EnglistField":"field4933","ChinaField":"","FieldValue":""},{"EnglistField":"field5051","ChinaField":"","FieldValue":""},{"EnglistField":"field5076","ChinaField":"","FieldValue":"11"},{"EnglistField":"field5077","ChinaField":"","FieldValue":"2014"},{"EnglistField":"field5108","ChinaField":"temp","FieldValue":""},{"EnglistField":"field5183","ChinaField":"","FieldValue":""},{"EnglistField":"field5184","ChinaField":"\u01e9","FieldValue":""},{"EnglistField":"field5185","ChinaField":"","FieldValue":""},{"EnglistField":"field5186","ChinaField":"","FieldValue":"Admin"},{"EnglistField":"field5187","ChinaField":"","FieldValue":""},{"EnglistField":"field5188","ChinaField":"","FieldValue":""},{"EnglistField":"field5189","ChinaField":"","FieldValue":""},{"EnglistField":"field5190","ChinaField":"","FieldValue":""},{"EnglistField":"field5191","ChinaField":"","FieldValue":""},{"EnglistField":"field5193","ChinaField":"","FieldValue":""},{"EnglistField":"field5350","ChinaField":"","FieldValue":""}]
bluezsh 2014-07-16
  • 打赏
  • 举报
回复
PHP输出数组: Array ( [0] => Array ( [EnglistField] => field4219 [ChinaField] => 附件名称 [FieldValue] => ) [1] => Array ( [EnglistField] => field4223 [ChinaField] => 打字 [FieldValue] => ,王五 ) [2] => Array ( [EnglistField] => field4224 [ChinaField] => 部室校对人 [FieldValue] => ,赵六 ) [3] => Array ( [EnglistField] => field4225 [ChinaField] => 封发日期 [FieldValue] => 2014-07-16 ) [4] => Array ( [EnglistField] => field4377 [ChinaField] => 主办部室 [FieldValue] => 电子商务品牌市场部 ) [5] => Array ( [EnglistField] => field4378 [ChinaField] => 文号头 [FieldValue] => 工作简报 ) [6] => Array ( [EnglistField] => field4447 [ChinaField] => 状态 [FieldValue] => 未存档 ) [7] => Array ( [EnglistField] => field4480 [ChinaField] => 发布状态 [FieldValue] => 未发送 ) [8] => Array ( [EnglistField] => field4563 [ChinaField] => 办公室核稿 [FieldValue] => 经理办公室 ) [9] => Array ( [EnglistField] => field4929 [ChinaField] => 份数 [FieldValue] => 2 ) [10] => Array ( [EnglistField] => field4933 [ChinaField] => 标题 [FieldValue] => 以后的文号只须选择文号头后系统将自动生成 ) [11] => Array ( [EnglistField] => field5051 [ChinaField] => 主题词 [FieldValue] => 我 是 谁 ) [12] => Array ( [EnglistField] => field5076 [ChinaField] => 号 [FieldValue] => 11 ) [13] => Array ( [EnglistField] => field5077 [ChinaField] => 年 [FieldValue] => 2014 ) [14] => Array ( [EnglistField] => field5108 [ChinaField] => temp [FieldValue] => ) [15] => Array ( [EnglistField] => field5183 [ChinaField] => 部室核稿 [FieldValue] => 测试部门 ) [16] => Array ( [EnglistField] => field5184 [ChinaField] => 签发 [FieldValue] => ) [17] => Array ( [EnglistField] => field5185 [ChinaField] => 会签 [FieldValue] => 李刚,郭美美,赵智勇,张田欣 ) [18] => Array ( [EnglistField] => field5186 [ChinaField] => 拟稿人 [FieldValue] => Admin ) [19] => Array ( [EnglistField] => field5187 [ChinaField] => 发送 [FieldValue] => 工作简报的总第期数和当年期数都可以由系统自动生成,生成后在发文表列表中可以查看 ) [20] => Array ( [EnglistField] => field5188 [ChinaField] => 抄报 [FieldValue] => 研发中心 ) [21] => Array ( [EnglistField] => field5189 [ChinaField] => 抄送 [FieldValue] => 集团领导 ) [22] => Array ( [EnglistField] => field5190 [ChinaField] => 缓急 [FieldValue] => 急 ) [23] => Array ( [EnglistField] => field5191 [ChinaField] => 性质 [FieldValue] => 普通 ) [24] => Array ( [EnglistField] => field5193 [ChinaField] => 文号 [FieldValue] => ) [25] => Array ( [EnglistField] => field5350 [ChinaField] => 递交 [FieldValue] => ) )
xuzuning 2014-07-16
  • 打赏
  • 举报
回复
你原始的数据是怎样的? 可以的话贴出序列化后的结果 echo serialize($data);
bluezsh 2014-07-16
  • 打赏
  • 举报
回复
有的编码是空,有的编码是 ASCII,UTF-8,CP936也有,不知道为什么会这样。

20,397

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧