I have a screen where user can see an english word and type equivalent translation in any language.
My database creation query:
CREATE DATABASE IF NOT EXISTS lang_db
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
My table creation query:
CREATE TABLE lang_map (
WORD VARCHAR(2048) NULL,
DESCRIPTION VARCHAR(2048) NULL
) CHARACTER SET utf8 COLLATE utf8_general_ci;
I am getting the word and description in json which I read in java and then fire a query to insert into table. But for languages like chinese or russian only thing that gets inserted is ?
's.
Mysql version: 5.5 Java: 1.6
update: Java code:
controller handling ajax call.
@ResponseBody
public setChanges(@RequestBody JSONObject keyValueMap) throws Exception {
return myService.setChanges(keyValueMap);
}
service code
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