ホームページ  >  記事  >  Java  >  Javaがjsonデータを読み込んで中国語の文字化けを解決する

Javaがjsonデータを読み込んで中国語の文字化けを解決する

尚
オリジナル
2019-12-02 09:14:234531ブラウズ

Javaがjsonデータを読み込んで中国語の文字化けを解決する

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。