mysql数据库编码问题
程序员文章站
2022-05-20 23:45:21
...
使用的是mysql数据库,数据库中有两种编码,一是gbk_chinese_ci 另一种是utf_8general_ci 我网站是使用gbk的编码,现在我查询数据库用print_r()能看到正常的值,但是当我用json_encode($data)转成json时,就无法正常显示,我想对一个中文字段转码,请问我应该如何操作?
代码如下:
可惜了,我是用的php 5.3 哪以前的版本用什么方式编码呢?
代码如下:
$sql ="select * from raffle"; $result =mysql_query($sql);//执行SQL $results = array(); while ($row = mysql_fetch_assoc($result)) { $results[] = $row; }
回复讨论(解决方案)
php5.4.0以后
json_encode($data, JSON_UNESCAPED_UNICODE);
php5.4.0以后
json_encode($data, JSON_UNESCAPED_UNICODE);
可惜了,我是用的php 5.3 哪以前的版本用什么方式编码呢?
首先 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 函数来转换编码
上一篇: 用Php模拟asp.net的页面模型
下一篇: 浅谈PHP开发团队的管理之道
推荐阅读
-
mysql题目和详细答案(2021数据库考试题及答案)
-
MYSQL建立独立数据库以及独立数据库用户详细教程(PHPstudy MySQL-Front)
-
将MySQL数据库移植为PostgreSQL
-
虚拟机安装mysql数据库(安装mysql详细步骤)
-
Python2.x版本中基本的中文编码问题解决
-
jdbc连接sql server数据库问题分析
-
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
-
mysql 常用数据库语句 小练习
-
MySql .frm数据库文件导入的问题
-
解决hibernate+mysql写入数据库乱码