教你如何使用PHP输出中文JSON字符串
json_endoce: http://cn.php.net/json_encode
json_dedoce: http://cn.php.net/json_decode
json_encode — 对变量进行 JSON 编码,并返回 value 值的 JSON 形式,例如:
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>
以上代码执行后输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
假如要编码的数据源(一般是一个数组),value 中包含中文,经过 json_encode 处理后输出的是 unicode 编码。
<?php
$arr = array ('a'=>'我们');
echo json_encode($arr);
?>
以上代码执行后输出:
{"a":"\u811a\u672c\u4e4b\u5bb6"}
PHP 底层已经做了 unicode 处理,如果嫌它不够直观,可以利用 urlencode 和 urldecode 方法绕过这个转码为 unicode 的过程:
$arr = array ('a'=>urlencode('我们'));
echo urldecode(json_encode($arr));
以上代码执行后输出:
{"a":"我们"}
相关推荐
-
js substr支持中文截取函数代码(中文是双字节)
复制代码 代码如下: <script language="JavaScript"> //得到字符总数function getChars(str) { var i = 0; var c = 0.0; var unicode = 0; var len = 0; if (str == null || str == "") { return 0; } len = str.length; for(i = 0; i < len; i++) { unico
-
JS字符串长度判断,超出进行自动截取的实例(支持中文)
今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了, 下面是JS代码: <html> <script src="http://jb51.net/script/jquery.js" type="text/javascript"></script> <body> <input type="text" name=&qu
-
中文字符串截取的js函数代码
为了解决这个问题昨天写了根据字节数截取字符串的函数.具体使用很简单,跟String.subString(start, end)一样使用就可.比如:var str = "诶必塞第衣爱抚即"; var str1 = str.subCHStr(2, 2); var str2 = str.subCHString(2, 4); alert(str1 + " == " + str2); 复制代码 代码如下: Code//计算字符串长度String.prototype.strLe
-
用javascript实现截取字符串包含中文处理的函数
1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 描述 start 必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop 可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. 返回值 一个新的字符串,该字符串值包
-
js计算字符串长度包含的中文是utf8格式
方法一: 复制代码 代码如下: function byteLength(str) { var byteLen = 0, len = str.length; if( !str ) return 0; for( var i=0; i<len; i++ ) byteLen += str.charCodeAt(i) > 255 ? 2 : 1; return byteLen;} 说明:byteLength(str)参数:string str: 要计算字节长度的字符串(非ASCII的字符算2字节) 方
-
JS实现含有中文字符串的友好截取功能分析
本文实例讲述了JS实现含有中文字符串的友好截取功能.分享给大家供大家参考,具体如下: 在显示字符串的时候,避免字符串过长往往会对字符串进行截取操作,通常会用到js 的 substr 或者 substring方法, 以及 字符串的length属性 对于非中文的字符串处理是很简单的,但是中文字符的 length 属性值 是1 而不是 2 ,所以处理就不是很友好了. 例如 你有一个字符串 1234567890 和 一二三四五六七八九零, 你只想显示五位长度,往往会这样操作 str =
-
JS判断字符串长度的5个方法(区分中文和英文)
目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 复制代码 代码如下: String.prototype.gblen = function() { var len = 0; for (var i=0; i<this.length; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) { len += 2; } else { len ++;
-
Javascript 中文字符串处理额外注意事项
var strSex="男" ; 在GB2312编码中,假设有另一变量strAxSex是从ActiveX控件中读出的BSTR值,原始值也是"男" ,这时做在javascript程序中做比较:strSex==strAxSex为false,也就是"男"!="男". 但如果从VS2005调试中看表达式 strSex==strAxSex则为true,细看strSex.charCodeAt(0)与strAxSex.charCodeAt(
-
JavaScript过滤字符串中的中文与空格方法汇总
js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的朋友可以参考一下. 1.javascript过滤空格: function moveSpace() { var str = " abc defg"; alert(str.replace(/[ ]/g, "")); } moveSpace(); 2.javascript过滤中文: var title ="字符串zifuchuan"
-
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
本文实例讲述了JS实现对中文字符串进行utf-8的Base64编码的方法.分享给大家供大家参考,具体如下: 要进行编码的字符串:"select 用户名 from 用户" 使用JAVA进行编码,Java程序: String sql = "select 用户名 from 用户"; String encodeStr = new String(Base64.encode(sql.getBytes("UTF-8"))); // 编码 System.out.
随机推荐
- [导入][原创]用脚本控制迅雷下载
- 用批处理实现读取文本文件并实现超链接代码的输出 原创
- 段云峰:DB2 9对企业有3点帮助
- 关于swift的个人小结
- 完美解决IE不支持Data.parse()的问题
- Path类与Directory类与File类对路径/目录/文件的操作实例
- php对mongodb的扩展(初出茅庐)
- PHP+SQL 注入攻击的技术实现以及预防办法
- PHP中遍历stdclass object的实现代码
- Python使用Socket(Https)Post登录百度的实现代码
- 详解制作各种docker镜像
- php倒计时出现-0情况的解决方法
- 解决ajax跨域请求数据cookie丢失问题
- HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
- PowerShell中的TimeSpan时间差对象使用实例
- JQuery文字列表向上滚动的代码
- js使用函数绑定技术改变事件处理程序的作用域
- JS中将多个逗号替换为一个逗号的实现代码
- JavaScript中的setUTCDate()方法使用详解
- Kotlin 基础语法实例详解