sql >> データベース >  >> RDS >> Mysql

json_encode()メソッドにメモリ制限はありますか?

    暗闇に突き刺さる:データベースの行の一部に非ASCII文字が含まれています(例:ü、éなど)。データベース接続がlatin1に設定されています 、したがって、データはUTF-8でエンコードされていません。 json_encode UTF-8でエンコードされたデータが必要です。十分な行をフェッチすると、そのような非UTF-8データを含む行があり、json_encode 失敗します。行が十分に少ないと、問題のある行にヒットしなくなります。

    echo json_last_error_msg();を出力してこれをテストします json_encodeの後 。

    データベース接続をUTF-8に設定します。 その方法については、こちらをご覧ください:UTF-8全体

    print_rを含めると、ブラウザが無効なJSONについて文句を言う理由 単純です。PHPはJSONではない大量のガベージを出力するため、ブラウザーはJSONとしてデコードできません。



    1. PostgreSQLはPL/pgSQLでトランザクションを開始/終了できません

    2. MySQLでテーブルをあるデータベースから別のデータベースに移動する

    3. CSVファイルからCSVファイルのヘッダーを含むPostgreSQLテーブルにコピーするにはどうすればよいですか?

    4. OracleDatabaseで即時実行を使用してテーブルDDLを作成するパート2