2013-12-16 1 views
0

많은 레코드가 포함 된 하나의 CSV 파일이 있습니다. 일부 레코드에는 프랑스어 문자가 들어 있음을 알 수 있습니다. 내 스크립트는 각 레코드를 읽고 처리하고 처리 된 레코드를 XML에 삽입합니다. Fedora 시스템에서 VIM 편집기를 사용하여 터미널에서 .csv 파일을 볼 때 프랑스어 문자가 올바른 형식으로 표시됩니다. 그러나 레코드를 처리 한 후에는 이러한 문자가 올바르게 표시되지 않습니다. 또한 이러한 레코드가 콘솔에 인쇄 될 때 제대로 표시되지 않습니다.JAVA에서 문자열 인코딩을 처리하는 방법 (Linux OS)

예 : .CSV 파일

문자열 : 크레페 스커트 XML에

문자열 : 파일을 읽기위한 Crpe 스커트

코드.

BufferedReader file = 새 BufferedReader (새 FileReader (fileLocation)));

문자열 줄 = file.readLine();

그런 문제를 해결할 수있는 방법을 알려주세요.

+4

파일을 열고 읽는 코드를 포함하십시오. "UTF-8"인코딩을 지정한 다음 파일을 읽는 것만 큼 간단합니다. – brettw

답변

2

파일의 인코딩 (UTF-8)을 알고 있어야하며 Java에서 파일을 열 때 동일한 인코딩을 지정해야합니다.

2

파일을 UTF-8 파일로 읽으십시오. 그리고 xml 파일의 인코딩을 UTF-8로도 제공하십시오

BufferedReader reader=new BufferedReader(new InputStreamReader(new FileInputStream(your-file-path),"UTF-8")); 

    String line=""; 
    while((line=reader.readLine())!=null) { 
     //Do your work here 
    } 
관련 문제