사용자가 영어 단어를 볼 수 있고 모든 언어로 동등한 번역을 입력 할 수있는 화면이 있습니다.utf8로 문자 집합과 데이터 정렬을 변경 한 후에도 중국어, 러시아어 등의 문자를 mysql 테이블에 저장할 수 없습니다.
내 데이터베이스 작성 쿼리
CREATE DATABASE IF NOT EXISTS lang_db
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
내 테이블 작성 쿼리
CREATE TABLE lang_map (
WORD VARCHAR(2048) NULL,
DESCRIPTION VARCHAR(2048) NULL
) CHARACTER SET utf8 COLLATE utf8_general_ci;
내가 자바 읽은 다음에 삽입하는 쿼리를 발생 JSON 단어와 설명을 얻고있다 표. 하지만 중국이나 러시아 같은 언어의 경우 삽입되는 것은 ?
입니다.
MySQL 버전 : 5.5 자바 : 1.6
갱신 : 자바 코드 :
컨트롤러 처리 아약스 호출.
@ResponseBody
public setChanges(@RequestBody JSONObject keyValueMap) throws Exception {
return myService.setChanges(keyValueMap);
}
서비스 코드
List<LangMapping> langMappings = new ArrayList<LangMapping>();
for(Object keyObject : changedKeyValueMap.keySet()){
String key = String.valueOf(keyObject) ;
String description = (String) changedKeyValueMap.get(key);
langMappings.add(buildLangMapping(key,localeCode,description)); //pojo
}
//using above array list i am inserting into database table
를 참조 할 수 있습니다 등 독일어, 중국어, 러시아어? 나는 또한 자바 코드도 보여줘야한다고 생각한다. – Alex
데이터베이스 테이블에받은 문자열을 직접 삽입하고 있지만 문제가되지 않습니다. 심지어 테이블에 수동 물음표를 삽입하고 악센트 부호가없는 문자를 삽입 할 때도 마찬가지입니다. – ppmakeitcount
_connection_이 "UTF-8"이 아닌 것 같습니다. 자세한 내용은 [_this_] (https://stackoverflow.com/questions/38363566/trouble-with-utf-8-characters-what-i-see-is-not-what-i-stored)의 "물음표"를 참조하십시오. 디버깅. –