当前位置:首页 » 编程语言 » php显示中文

php显示中文

发布时间: 2023-01-01 00:01:31

php JSON格式的中文显示问题解决方法

返回json数据中文显示的问题
上一篇文章中,返回json格式的中文显示成\u5723\u8bde\u8282\u5343\u4e07\u597d\u793c\u5927\u5949\u9001
解决方法一:
复制代码
代码如下:
<?php
function
Notice(){

include
'./include/conn.php';
//数据库链接文件

$sql_notice
=
mysql_query('SELECT
*
FROM
gg_notice
where
enable
=
"1"
limit
0,10');

$notice
=
mysql_fetch_array($sql_notice,
MYSQL_ASSOC);

$str
=
json_encode($notice);

//linux

return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2BE',
'UTF-8',
pack('H4',
'\\1'))",
$str);

//windows

//return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2LE',
'UTF-8',
pack('H4',
'\\1'))",
$str);

}
?>
另外从网上搜索到的其他方法
复制代码
代码如下:
<?php
/**
*
json
生成,分析
支持中文
*/
class
Json_Helper
{

/**

*
生成json

*/

public
static
function
encode($str){

$json
=
json_encode($str);

//linux

return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2BE',
'UTF-8',
pack('H4',
'\\1'))",
$json);

//windows

//return
preg_replace("#\\\u([0-9a-f]{4})#ie",
"iconv('UCS-2LE',
'UTF-8',
pack('H4',
'\\1'))",
$json);

}

/**

*
分析json

*/

public
static
function
decode($str)
{

return
json_decode($str);

}
}
?>

Ⅱ PHP显示中文乱码

如果你的数据库表建立时候指定的字符集是UTF8,你现在网页已经是UTF8了,剩下就是要求插入数据和查询数据的PHP文件里面,连接数据库后进行插入和查询之前要SET NAMES UTF-8即可,以上四个地方的代码都统一以后,就能插入汉字、显示汉字。

Ⅲ php显示中文乱码,phpmyadmin里的MySQL数据库中文乱码,如何解决

将浏览器中的编码改成utf-8,数据库中也是。在php页面首行加上header("Content-type: text/html; charset=utf-8");,必须首行,前面不能有输出。
还有,在查询数据库时加上:mysql_query(set names utf-8);

Ⅳ php为何在网页上中文显示乱码

1、这个是典型的编码问题。
2、在php文件第一行代码前加上header("Content-type:text/html;charset=utf-8“);这一句就可以正常显示了。

Ⅳ php显示中文乱码

php数据库中文乱码的解决办法:1、创建数据库时,规定字符类型为uft8;2、创建表时,规定字符类型为utf8;3、在PHP的MySQL连接函数中,添加语句“mysql_query("set names 'utf8'")。

Ⅵ php为什么在网页上中文显示乱码

网页上的中文显示乱码,一般是编码不一致,PHP文件需要根据自己文件的编码(UTF还是ASCII),设置对应的header语句,使得浏览器以正确的编码显示,否则就会乱码。

Ⅶ php 输出json及显示json中的中文汉字详解及实例

php
输出json及显示json中的中文汉字
在php中,我们经常需要将数组输出json,只需要使用json_encode函数处理一下数组即可,但有的时候数组里面有中文,使用json_encode函数处理后中文字符被编码成了Unicode,如何才能在json中显示中文呢?请看下文。
首先介绍一下php输出json格式:
一种最简单的用法,就是把数组直接输出为json,如下:
<?php
$arr
=
array('p1'=>'ni"hao','p2'=>2,'ch'=>'码农你好!');
$json
=
json_encode($arr);
echo
$json;
?>
输出的结果为:
{"p1":"ni\"hao","p2":2,"ch":"\u7801\u519c\u4f60\u597d\uff01"}
这里要注意:
双引号在json中会被自动编码为\",这个很好理解,js中字符串中是不允许出来单引号、双引号和反斜杠的。
中文字符被编码成了Unicode
如果是写接口,那直接这样输出就够了,中文无需去做处理。等到了客户端,再去把Unicode的中文转成汉字即可。但如果要在服务器端直接输出汉字出来,那我们可以做如下处理。
<?php
$arr
=
array('p1'=>'nihao','p2'=>2,'ch'=>'码农你好!');
$json
=
json_encode($arr);
echo
decodeUnicode($json);
function
decodeUnicode($str){
return
preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
create_function(
'$matches',
'return
mb_convert_encoding(pack("H*",
$matches[1]),
"UTF-8",
"UCS-2BE");'
),
$str);
}
?>
输出:
{"p1":"ni\"hao","p2":2,"ch":"码农你好!"}
这个操作很简单,其实就是把输出结果匹配一下,把Unicode还原成了汉字。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Ⅷ 为什么我的php输出的中文是乱码

是你的页面
编码
有问题!
你这个是不是
还没有用到
数据库
啊?
那应该就是
你的
IE浏览器的
编码
跟你
页面的编码不统一!
你应该先判断你的
页面是
什么编码
然后再把
IE的编码换成
你的页面
编码!那就可以了!

Ⅸ 我的PHP页面无法显示中文了,怎么搞的

避免页面出现乱码,最好保持所有资源的编码统一,以GB2312为例:
1. PHP文件本身保存成GB2312.如果你用的是Dreamweaver,设置默认编码为GB2312,DW默认的是UTF-8
2. 输出的HTML代码的HEAD里应该有<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
3. 如果你只是测试,没有写HEAD、BODY这些HTML代码,就在PHP里加上 header("Content-Type: text/html; charset=gb2312"); 保证浏览器以GB2312编码分析你的HTML
4. 在浏览器里设置默认编码为GB2312(浏览器默认的是UTF-8).这样即使你没有在PHP或HTML设定编码,也会以GB2312方式解析
5. 数据库应该以GB2312编码创建,否则应该在连接数据库后执行一句SQL语句: SET NAMES GBK;,确保读取出来的内容是GBK编码的。

Ⅹ 使用php时显示的中文变成了一堆乱码,有什么办法让中文不变乱码

网页分内码外码。内码就是<meta
http-equiv="content-type"
content="text/html;
charset=utf-8"
/>
外码就是你保存为记事本的时候所选择的文本编码,你要将二者统一。
如果你的网页编码是UTF8
那么你可以尝试将php文件以记事本的格式打开,并保存为utf8格式。
如果是GBK或gb2312
则保存为ansi
格式
则就不会出现乱码的问题。

热点内容
python程序设计第三版课后答案 发布:2025-07-03 03:58:08 浏览:212
socket上传文件 发布:2025-07-03 03:57:24 浏览:894
安卓cleo脚本 发布:2025-07-03 03:41:26 浏览:245
编程器解读 发布:2025-07-03 03:22:49 浏览:24
中国电信加密通信业务 发布:2025-07-03 03:06:00 浏览:521
脚本家的台词 发布:2025-07-03 03:05:50 浏览:709
arcgisforpython 发布:2025-07-03 03:05:46 浏览:899
期计算法 发布:2025-07-03 02:56:53 浏览:405
不同域访问 发布:2025-07-03 02:49:05 浏览:819
多槽编程 发布:2025-07-03 02:47:42 浏览:920