为了账号安全,请及时绑定邮箱和手机立即绑定

PHP json_encode无法部分处理数组

PHP json_encode无法部分处理数组

PHP
森林海 2019-10-21 15:14:41
我有一个PHP代码,需要将数据库表数据编码为json。所以我使用了json_encode()。我使用此处给出的表格-http: //www.geekality.net/2011/08/21/country-names-continent-names-and-iso-3166-codes-for-mysql/对于不同的输入,此代码的行为似乎有所不同。查询- $query = "SELECT * FROM countries ";不返回任何json值。查询- $query = "SELECT * FROM countries where continent_code='AS'";正确返回json值。但是,$query = "SELECT * FROM countries where continent_code='EU'";也不会返回任何内容。同样,“ NA”,“ AF”无效,而其他人则完美。我对PHP的json_encode的这种行为感到奇怪。这是我的代码。<?php$con=mysqli_connect('localhost','xxxx','xxxxx','joomla30');// Check connectionif (mysqli_connect_errno())  {  echo "Failed to connect to MySQL: " . mysqli_connect_error();  }$result = mysqli_query($con,"SELECT * FROM countries where continent_code='EU'") or die (mysqli_error($con));while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {      $orders[] = array(          'CountryCode' => $row['code'],          'CountryName' => $row['name']          );  }//print_r($orders);echo json_encode($orders);mysqli_close($con);?>直到json_encode的上一行为止,数据都会被携带。所以我认为它的json编码问题。我尝试使用来了解它print_r($orders);。我从中得到以下输出。如果我尝试使用“ EU”,则会得到该数组。Array ( [0] => Array ( [CountryCode] => AD [CountryName] => Andorra ) [1] => Array ( [CountryCode] => AL [CountryName] => Albania ) [2] => Array ( [CountryCode] => AT [CountryName] => Austria ) [3] => Array ( [CountryCode] => AX [CountryName] => Åland Islands )...如果我尝试使用“ AS”,则会得到该数组。Array ( [0] => Array ( [CountryCode] => AE [CountryName] => United Arab Emirates ) [1] => Array ( [CountryCode] => AF [CountryName] => Afghanistan) [2] => Array ( [CountryCode] => AM [CountryName] => Armenia) [3] => Array ( [CountryCode] => AZ [CountryName] => Azerbaijan)...这两个数组看起来都差不多……但是Json_encode仅在'AS'上有效,而在'EU'上无效。有谁知道如何解决这个问题?如果是这样,请告诉我。
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

您应该确保Web应用程序的每个组件都使用UTF-8。另一个问题的答案将告诉您如何执行此操作。如果您从RFC4627中阅读以下内容:


编码:JSON文本应以Unicode编码。默认编码为UTF-8。


json_encode函数要求所有传入数据均采用UTF-8编码。这就是为什么诸如这样的字符串Åland Islands可能会导致您出现问题的原因。


查看完整回答
反对 回复 2019-10-21
  • 2 回答
  • 0 关注
  • 966 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信