最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - json_encode array with special character - Stack Overflow

programmeradmin0浏览0评论

I have this array

array (size=3)
  0 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=3)
      'street' => string 'José Ellauri' (length=12)
  1 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=4)
      'street' => string 'Francisco Solano García' (length=23)
  2 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=3)
      'street' => string 'Ingeniero Carlos María Maggiolo' (length=31)

I am trying to json_encode that array but since there are special characters, i found out that i need to $toReturn = array_map('utf8_encode', $toReturn); But I'm getting an error. My code below.

$toReturn = array_map('utf8_encode', $toReturn);
echo json_encode($toReturn);

Im getting this error in my page.

( ! ) Warning: utf8_encode() expects parameter 1 to be string, array given in C:\wamp\www\resh\backend.php on line 39

I have this array

array (size=3)
  0 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=3)
      'street' => string 'José Ellauri' (length=12)
  1 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=4)
      'street' => string 'Francisco Solano García' (length=23)
  2 => 
    array (size=4)
      'lat' => string 'qqq' (length=11)
      'lng' => string 'qqq' (length=11)
      'housenumber' => string 'xxx' (length=3)
      'street' => string 'Ingeniero Carlos María Maggiolo' (length=31)

I am trying to json_encode that array but since there are special characters, i found out that i need to $toReturn = array_map('utf8_encode', $toReturn); But I'm getting an error. My code below.

$toReturn = array_map('utf8_encode', $toReturn);
echo json_encode($toReturn);

Im getting this error in my page.

( ! ) Warning: utf8_encode() expects parameter 1 to be string, array given in C:\wamp\www\resh\backend.php on line 39

Share Improve this question edited Feb 1, 2018 at 8:39 Eddie asked Apr 29, 2015 at 8:28 EddieEddie 26.9k6 gold badges38 silver badges59 bronze badges 0
Add a ment  | 

1 Answer 1

Reset to default 6

This is happning because array_map() will pass the data which contains an array instead. Try with -

$toReturn = array_map('encode_all_strings', $toReturn);

function encode_all_strings($arr) {
    foreach($arr as $key => $value) {
        $arr[$key] = utf8_encode($value);
    }
    return $arr;
}
发布评论

评论列表(0)

  1. 暂无评论