JSON データを読み取ると文字化けする Java コード: (推奨: Java ビデオ チュートリアル)
//从json文件中读取数据 StringBuffer stringBuffer = new StringBuffer(); try { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line; while((line=bufferedReader.readLine()) != null) { stringBuffer.append(line); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //开始解析 JSONObject jsonObject = new JSONObject(stringBuffer.toString());
解決策
によるとオンラインの説明によると、ファイルは UTF-8 エンコードに設定されていますが、UTF-8 エンコード ファイルとして保存すると、ファイル ヘッダーにエンコード タイプを識別するデータがさらに 3 バイト存在するため、JSONObjectオブジェクトの解析に失敗しました。理由: それは { の始まりではありません。
アイデア: 編集して開くと、UTF-8 エンコード形式が正常に表示されます。次に、バイナリ編集ツールを使用して、ファイル ヘッダーの UTF-8 識別子 EF BB BF を削除し、コードでは、InputStreamReader を使用して、UTF-8 からデータをフローさせます。バイト ストリームを文字ストリームに変換するプロセスでエンコーディングが使用されます。
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
Java の詳細については、Java 基本チュートリアルを参照してください。 ### カラム。
以上がJavaがjsonデータを読み込んで中国語の文字化けを解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。