2016-11-13 3 views
0

내 Android 앱에서 Json 피드에는 "Atlético Madrid vs Málaga"와 같은 프랑스어, 독일어 및 스페인어 특수 문자가있을 수 있습니다. 피드는 브라우저에서 볼 때 제대로 작동하지만 sqllite는 동일한 데이터가 삽입 될 때 알 수없는 문자를 표시합니다. 다른 게시물의 StackOverFlow에 대한 전문가의 권고에 따라 UTF-8을 지원하기 위해 HttpConnections 및 InputStream에서 이러한 변경 작업을 수행했지만 작동하지 않습니다. 나는 sqllite가 UTF-8을 독자적으로 지원하고 설정 변경이 필요 없다고 들었다. 내가 뭘 잘못하고있어? 도와주세요. 감사.Json 피드의 특수 문자가 sqllite 데이터베이스에서 알 수없는 문자로 삽입 됨

InputStream isC = null; 
     HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
     conn.setRequestProperty("Accept-Charset", "UTF-8"); 
     conn.setConnectTimeout(10000); 
     conn.setRequestMethod("GET"); 
     conn.setDoInput(true); 
     conn.setRequestProperty("Content-type", "application/json;charset=UTF-8"); 
     conn.connect(); 
     int response = conn.getResponseCode(); 
     isC = conn.getInputStream(); 
     JsonReader jsonReader = new JsonReader(new InputStreamReader(isC, "UTF-8")); 
     jsonReader.setLenient(true); 
     jsonReader.beginObject(); 

답변

0

ASCII 문자 만 지원하는 UTF-8 형식으로 디코딩 중입니다.

아스키가 아닌 문자 (á, ó, í, í, é)가 발생하면 이상한 행동을하게됩니다.

또한 데이터베이스에 저장하려는 열이 유니 코드를 지원하는지 확인하십시오. MsSql에서는 nvarchar 필드 여야합니다. SQLite에 상응하는 것이 무엇인지 잘 모름 ...