PHP json_encode 处理汉字为空 服务端JSON汉字编码

PHP   json_encode 处理汉字为空  服务端JSON汉字编码

原因是这个汉字是gbk编码 , json只能处理utf-8的编码 ,所以要先将数据转码

用Extjs接收PHP服务端返回的Json结果时,发现只要是汉字(从SQLServer取得)都是空字符,很是纳闷。后来看 json_encode的文档才知道,它只能编码UTF-8的字符。这个问题就是返回的字符是GB2312,怎么变为UTF-8,并且最好是将整个数组进 行UTF-8的转换。经过搜索有以下代码完成:

//处理数组编码格式

function td_iconv($data, $charset_from, $charset_to) {

if(strtolower($charset_from) == "gb2312") {

$charset_from = "gbk";

}

if(strtolower($charset_from) == strtolower($charset_to)) {

return $data;

}

if(is_array($data)) {

foreach($data as $k => $v) {

if(is_array($v)) {

$data[$k] = td_iconv($v,$charset_from,$charset_to);

}else {

$data[$k] = is_string($v) ? mb_convert_encoding($v, $charset_to, $charset_from) : $v;

}

}

}else {

if(is_string($data))

$data = mb_convert_encoding($data, $charset_to, $charset_from);

}

return $data;

}

PHP json_encode 处理汉字为空 服务端JSON汉字编码,布布扣,bubuko.com

时间: 2024-10-18 02:18:43

PHP json_encode 处理汉字为空 服务端JSON汉字编码的相关文章

HTTP服务端JSON服务端

HTTP服务端JSON服务端 最后更新日期:  2014-5-18 Author: Kagula 阅读前提: CMake工具的基本使用 内容简介: CPPCMS是个开源Web开发框架,通过它可以很容易实现HTTP服务和JSON服务,这里介绍CPPCMS开发环境的搭建.写一个CPPCMS测试程序,它建立HTTP服务,向浏览器返回Hello,World页面.CPPCMS依赖的一些第三方库,其它地方已经介绍怎么Build,所以这里不重复了. 环境:Windows8.1 64bit.Visual Stu

服务端Json数据+js表单数据提交的 表单交互插件(base-form.js)

我们在做表单的查看.编辑里涉及两个点: 点1,提交Form表单到服务器,保存到数据库 点2,页面显示Form表单里的所有字段 如果表单的字段很多,这两个点会有两个问题: 1,提交Form时,如何少量代码.快速获取表单的所有数据? 2,页面显示Form表单时,如何自动给表单的所有字段自动赋值,而不要一个一个属性地写代码? 针对这两个问题,我有一个推荐的做法,下面以Demo举例: 1)index.html或index.jsp里写一个form表单,引入jquery.js: <srcript type=

js与C#服务端 json数据交互

1.1 服务端返回给前端 返回的数据都放入对象中(根据需求:单个对象,集合,键值对),然后JSON序列化返回给前端.这里可以引用JSON.NET 库,也可以用.NET自带的类库: JavaScriptSerializer().Serialize(obj) ; JSON序列化后的结果是一个键和值都用双引号括起的字符串:  "{"msg" : "成功 文件大小为:16397",   "imgurl":"/head.jpg"

Android 手机卫士--构建服务端json、请求网络数据

本文地址:http://www.cnblogs.com/wuyudong/p/5900384.html,转载请注明源地址. 数据的传递 客户端:发送http请求 http://www.oxx.com/index.jsp?key=value 服务器:在接受到请求以后,给客户端发送数据,(json,xml),json数据从数据库中读取出来,读取数据拼接json,语法规则,结构 获取服务器版本号(客户端发请求,服务端给响应,(json,xml)) http://www.oxxx.com/update.

java服务端json结果集传值给前端的数据输出格式

在服务端输出json数据时按照一定的格式输出时间字段,fastjson支持两种方式:1.使用JSON.toJSONStringWithDateFormat方法2.JSON.toJSONString方法增加SerializerFeature.WriteDateUseDateFormat参数第一种方法的缺点在于:如果在反序列化时没有调用JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm"; 之类设置时间格式,反序列化就会失败! 原文地址:https:

【企业通讯录app番外篇】怎么样创建服务端?

本文将指导大家如何去创建企业通讯录app的服务端 除了获取图片,客户端与服务端唯一的交互就是获取最新数据,如果该用户不能获取数据(用户名密码错误.用户离职被删)则返回空. 1:典型的交互流程如下: 用户名与密码 app    -----------------------------> 服务端 app   <-----------------------------  服务端 json格式的通讯录 2:接下来讲讲json通讯录需要哪些属性. 一共需要7个,见下文. {"UserNam

在ASP.NET MVC下实现单个图片上传, 客户端服务端双重限制图片大小和格式, 服务端裁剪图片

在"MVC文件图片ajax上传轻量级解决方案,使用客户端JSAjaxFileUploader插件01-单文件上传"一文中,使用JSAjaxFileUploader这款插件实现了单文件上传,在chrome, firefox下运行良好,但在某些版本的IE浏览器(比如IE8,IE9)下却无法正常运行,这可能是因为JSAjaxFileUploader插件在编写时没有考虑到某些低版本IE浏览器导致的.本篇,就在ASP.NET MVC4下实现单个图片上传,具体功能包括: 1.在客户端选择图片,并限

服务端提供的JSON数据接口与用户端接收解析JSON数据

首先来了解下JSON格式解析 json结构的格式就是若干个 键/值(key, value) 对的集合,该集合可以理解为字典(Dictionary),每个 键/值 对可以理解成一个对象(Object). 键/值 对中的 键(key) 一般是 一个string,值(value)可以是string.double.int等基本类型,也可以嵌套一个 键/值 对,也可以是一个数组,数组里面的数据的类型可以是基本类型,或者 键/值 对.可以看出 键/值 本来没什么,只是嵌套得多了就会觉得混乱,下面举个具体的例

读取http端json格式文件

1.servlet输出json格式数据: a.map实现单层json文件 package JsonManager;import java.io.IOException;import java.io.PrintWriter;import java.util.HashMap;import java.util.Map; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.ser