php – 来自MySQL数据库的特殊字符的json_encode

我需要将MySQL查询的结果编码为JSON格式.

我的数据库的编码为utf8_unicode_ci.

特别是,我有一些特殊的字符(例如,€)存储在我的数据库中,当我应用PHP函数json_encode时它产生一个空值.

我怎样才能解决这个问题?

解决方法:

我的盲目猜测是你的MysqL数据库连接没有设置为UTF-8,这导致即使源数据库是UTF-8也会返回ISO-8859-1字符.

Those characters will break json_encode()因为它们在UTF-8字符集中无效,json_encode()期望它.

您可能必须将连接编码设置为UTF-8.如何做到这取决于您使用的库.

MysqL_ *系列函数中,有一种方法

MysqL_query("SET names utf8;");

或者在MysqL中> 5.0.7,新的

MysqL_set_charset("utf8");

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...