【发布时间】:2016-12-08 11:23:41
【问题描述】:
我知道对此有很多问题。我已经尝试了很多东西,但我无法解决它。也许是因为我的知识有限,我未能执行解决方案?
我从 mysql 数据库中选择数据并在其上使用 json_encode() 函数。这有效,除了包含特殊字符(土耳其语)的数据。对于这些值,json 返回 null。我该如何解决这个问题?
这是我的简单 php 代码:
<?php
require('init.php');
$sql="SELECT * FROM tablename;";
$result=mysqli_query($con,$sql);
$response=array();
while($row=mysqli_fetch_array($result)){
array_push($response,array("X"=>$row["x"],"Y"=>$row["y"]));
}
echo json_encode($response);
?>
在 mysql 中,列设置为 utf8-turkish。我尝试过设置标头、调用一些函数、以 utf8 编码重新创建 php 文件等。但没有一个奏效。
【问题讨论】:
-
你设置了mysqli字符集php.net/manual/en/mysqli.set-charset.php
-
你好里格斯。不,我还没有尝试过。我需要在我的连接脚本(init.php)中写吗?
-
Riggs 我现在确实用过。对于特殊字符,我得到的不是 null ,而是: "\u00d6" 。这是否意味着它有效?