使用的是mysql数据库,数据库中有两种编码,一是gbk_chinese_ci 另一种是utf_8general_ci 我网站是使用gbk的编码,现在我查询数据库用print_r()能看到正常的值,但是当我用json_encode($data)转成json时,就无法正常显示,我想对一个中文字段转码,请问我应该如何操作?
代码如下:
$sql ="select * from raffle"; $result =mysql_query($sql);//执行sql $results = array(); while ($row = mysql_fetch_assoc($result)) { $results[] = $row; }
启科网络商城系统由启科网络技术开发团队完全自主开发,使用国内最流行高效的PHP程序语言,并用小巧的MySql作为数据库服务器,并且使用Smarty引擎来分离网站程序与前端设计代码,让建立的网站可以自由制作个性化的页面。 系统使用标签作为数据调用格式,网站前台开发人员只要简单学习系统标签功能和使用方法,将标签设置在制作的HTML模板中进行对网站数据、内容、信息等的调用,即可建设出美观、个性的网站。
0
php5.4.0以后
json_encode($data, JSON_UNESCAPED_UNICODE);
php5.4.0以后
json_encode($data, JSON_UNESCAPED_UNICODE);
首先 json_encode 只接受utf-8编码的数据。
其次你说的无法正常显示是指什么,截个图看看。
1、json_XXXX 函数只能处理 utf-8 字符集
2、json_encode($data, JSON_UNESCAPED_UNICODE) 的 JSON_UNESCAPED_UNICODE 参数只是不把中文字符转换成 unicode 编码形式。与你的需求不符,无需惋惜
3、由于输出 json 串的页面不会输出其他内容,所以你只需在连接数据库后执行 set names utf8 指令,就可从数据库中读取 utf-8 字符集的数据,正好被 json_encode 所使用
我用php中iconv 函数来转换编码
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号