[WordPress] ワードプレスのプラグインの PHP コードから UTF-8 の JSON ファイルを書く

スポンサーリンク

質問

私は utf-8 エンコードされたテキストを含めることができます JSON でエンコードされた複雑なデータの読み書きができる必要がありますワードプレスのプラグインを書いています。(私は PHP パースエラーを得る) ファイルの読み取りの問題を持っていたきたが、私は今データが UTF-8 (と思った) が、HTML エンコードとして実際にエンコードされていないためにであると思われるエンティティ

この – am のような関数は、出力バッファーを開いて、そしてそれに書いて見て何か足りない?

public function createUTFOutput($filename, $json)
{
        // Tells the browser to expect a json file and bring up the save dialog in the browser
    header('Pragma: public');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Cache-Control: private', false);

    if ($json)
        header('Content-Type: text/plain; charset=utf-8');
    else
        header('Content-Type: text/csv; charset=utf-8');
    header('Content-Disposition: attachment; filename="'.$filename.'";');

        // This opens up the output buffer as a "file"
    $fp = fopen('php://output', 'w');

        // Hack to write as UTF-8 format
    fwrite($fp, pack("CCC",0xef,0xbb,0xbf));
    return $fp;
} // createUTFOutput()

    // PURPOSE: Write out data about Attribute $the_att to file $fp
public function write_att_data($fp, $the_att)
{
        // Create header to indicate Attribute record
    fwrite($fp, '{"type": "Attribute", "att-id": "'.$the_att->id.'", '."\n");
    fwrite($fp, '"att-privacy": "'.$the_att->privacy."\", \n");
    fwrite($fp, '"att-def": '.$the_att->meta_def.", \n");
    fwrite($fp, '"att-range": '.$the_att->meta_range.", \n");
    fwrite($fp, '"att-legend": '.$the_att->meta_legend."\n}");
} // write_att_data()

画面に表示されていたかのように HTML でエンコードされた文字ではなく、ファイルの utf-8 文字としてテキストを書き込むように必要ないくつかの他の設定とは文字の HTML エンコードに utf-8 文字を変換する何らかの方法入力プロセスであるまたはだろうか。私は私の Mac に保存されたファイルの MIME タイプを見て、彼らは正しい見て

答え

独自のシリアル化の関数を書くこと。 あなたのコードは必然的に無効な JSON を生成できません

JSON の仕様では、UTF-8 です。 すべては大丈夫だと思う単に PHP の組み込み

json_encode()

を使用した場合と思います

エンコード エンティティ問題は、ワードプレスの機能によるものです。 私は私の頭の上をオーバーライドする方法を知らないが、それは前に行われています

答え

次関数が役立つ場合があります

http://stackoverflow.com/questions/32187677/write-utf-8-json-file-from-php-code-in-wordpress-plugin

スポンサーリンク

Leave a Reply