请帮助找到错误。我从mysql得到几个字符串。这些字符串包含西里尔符号。

<?php
  header("Content-type: text/html; charset=utf-8");
  error_reporting(0);
  require('connectDB.php');

  $connect = mysql_connect($host,$user,$password);
  mysql_query("SET NAMES utf8");
  mysql_select_db($database);

  $sql = 'SELECT `title` FROM `graphs`';
  $result = mysql_query($sql); // or die(mysql_error());
  $response = array();

  if($result){
    while($row = mysql_fetch_array($result)) {
      $response[] = $row["title"];
    };
  }
  else{
    $response = 'error';
  }

  print_r($response);

  print(json_encode($response));
?>


但是第一个打印操作员输出如下:


  数组([0] =>ыва[1] =>вв[2] =>ываываывавы)


第二个打印操作员输出如下:


  [“ \ u044b \ u0432 \ u0430”,“ \ u0432 \ u0432 \ u0432”,“ \ u044b \ u0432 \ u0430 \ u044b \ u0432 \ u0430 \ u044b \ u0432 \ u0430 \ u0432 \ u044b”


我尝试使用ebcoding utf8重新保存所有没有BOM的文件

最佳答案

尝试执行以下操作:

json_encode($response, JSON_UNESCAPED_UNICODE);

关于javascript - 如何将带有西里尔符号的php-massive编码为json?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36130673/

10-13 05:16