【问题标题】:PHP, PDO, SLIM framework, JSON encoding UTF8 [duplicate]PHP,PDO,SLIM 框架,JSON 编码 UTF8 [重复]
【发布时间】:2017-01-26 11:25:35
【问题描述】:

在使用 PDO 和 Slim 框架时遇到一些问题。关键是我不知道如何更改为 utf8 char。我正在阅读整个互联网,但对我没有任何帮助。我的 JSON 响应应该看起来像 "ćśąęł" 但是 "\u0107\u015b\u0105\u0119\u0142" 并且在我的 android 应用程序中是 "?????"我检查了我正在使用的所有文件和程序中的编码,并将其设置为 utf8。

我的 PDO

    try{
        $pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USERNAME, DB_PASSWORD);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $stmt = $pdo -> query('SELECT id, title, opinion, upload_image FROM upload_post LIMIT '.$offset.',8');
        $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
        $pdo = null;
        echo json_encode("ćśąęł");
    }catch(PDOException $e)
   {
      echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
   }
    }

我试过了

$pdo->exec("set names utf8");
array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')
charset=utf8 in connection string 
$app = new \Slim\Slim();$app->contentType('text/html; charset=utf-8'); in Slim framework, but still nothing 

【问题讨论】:

    标签: php json utf-8 slim urlencode


    【解决方案1】:

    我找到了解决方案,所以这对我有用 在连接字符串中添加 charset=utf8 like

    $pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8', DB_USERNAME, DB_PASSWORD);
    

    并在 Json 编码中添加“JSON_UNESCAPED_UNICODE”

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
    

    和我所有的 pdo

        try{
            $pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8', DB_USERNAME, DB_PASSWORD);
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $stmt = $pdo -> query('SELECT id, title, opinion, upload_image FROM upload_post LIMIT '.$offset.',8');
            $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
            $pdo = null;
            echo json_encode($data, JSON_UNESCAPED_UNICODE);
        }catch(PDOException $e)
       {
          echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
       }
    

    祝你好运;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 2017-12-12
      • 2018-10-16
      相关资源
      最近更新 更多