Heim > Backend-Entwicklung > PHP-Tutorial > mysql数据库编码问题

mysql数据库编码问题

WBOY
Freigeben: 2016-06-23 13:06:04
Original
951 Leute haben es durchsucht

使用的是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;    }
Nach dem Login kopieren


回复讨论(解决方案)

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 函数来转换编码

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage