处理json_encode

时间:2017-02-22 05:35:26

标签: php json

在我的数据库中,有许多特殊字符,如(İstanbul,Yeşilköy,Atatürk等)。

当我直接从数据库中获取这些数据时一切正常。意味着数据保持原始状态,但是当我使用json_encode()将这些数据转换为JSON时会出现问题。

将所有这些数据编码后转换为一些奇怪的字符  ?stanbul,Bak?rköy......

但解码后(使用json_decode)我需要编码之前的原始字符串(json_encode)。

我尝试了网上提供的许多解决方案以解决问题,但在我的案例中没有一个完全正常工作。

我试过的一些解决方案 -

如果不可能得到原始字符串至少应该没有?喜欢的东西(删除这些东西)。

建议我解决这个问题。

3 个答案:

答案 0 :(得分:2)

自PHP 5.4起,您可以使用:

json_encode( $text, JSON_UNESCAPED_UNICODE );

答案 1 :(得分:2)

mysqli_query();

之前使用 mysqli_set_charset(connection,charset);

示例:

mysqli_set_charset( $CONNECTION, "utf8" );

$result_query = mysqli_query( $CONNECTION, $query );

答案 2 :(得分:1)

这个图书馆保存了我的生命(https://github.com/neitanod/forceutf8)。

以前我使用了错误的方法来解决问题。 toUTF8()功能可以节省生命。