ページを JSON 形式に変換する InDesign スクリプトがあります。
ただし、これには、通常の二重引用符 (" ") の代わりに、スマートな「カーリー」二重引用符が付いています。もちろん、これは無効な JSON ファイルを生成します。
これらのファイルに対してPHPを使用して他の操作を行う必要があったため、問題を解決しようとして、この問題を受け入れてファイルのアップロードで解決しようとしました。
この関数は、Windows PC で InDesign によって生成された見積もりに対してのみ (常にではなく) 機能することが判明しました。MAC でスクリプトを実行してファイルをアップロードすると、エンコーディングが異なるように見えるため、まったく機能しません。私はこれ以外の解決策を試しましたが、まったく結果が得られませんでした。
これがスクリプトです。
function quoteReplacer($file)
{
$string = file_get_contents($file);
$string = to_utf8($string);
$bits = array('\xe2\x80\x9c', '\xe2\x80\x9d', '\xe2\x80\x98', '\xe2\x80\x99','â','â');
$string = str_replace($bits,'"',$string);
file_put_contents($file,$string);
//file_put_contents($file,$string);
}
function to_utf8( $string ) {
return iconv( 'CP1250', 'UTF-8', $string);
}