у меня такая проблемка. читаю данные из таблиц, все норм, а вот записываю, получаются кракозябры, какие тока кодировки не пробовал, ничего не получается.. все таблицы в UTF-8. может кто знает решение проблемки? буду весьма благодарен
16 Янв 2013, 21:04у java utf-16 если не ошибаюсь. Принудительно укажи кодировку для записываемых данных. И в самой таблице ведь указано в какой кодировке хранить данные.
16 Янв 2013, 21:20kos пишет:
"у java utf-16 если не ошибаюсь. Принудительно укажи кодировку для записываемых данных. И в самой таблице ведь указано в какой кодировке хранить данные."
да пробовал я переводить конвертировать из utf-16 в utf-8 - не помогло. и если ява работает в utf-16 то как же она выводит данные в utf-8 корректно?
public void sendMess(String who, String id, String message) throws SQLException, UnsupportedEncodingException {
long time = System.currentTimeMillis() / 1000L;
this.st.executeUpdate(this.traffic.SqlTrafficOut("INSERT INTO `letters` ( `who` , `idwho` , `message` , `data` , `read` , `mod` , `save` ) VALUES ('"+who+"', '"+id+"', '"+message+"', '"+time+"', '0', 'i', '0')"));
}
единственное, что приходит на ум:
переводить строку в последовательность байт и далее уже декодировать в utf-8.
объект String - это всегда Unicode.
byte bMess[] = message.getBytes("UTF-8");
String sNewMess = new String(bMess, "UTF-8")
Fever пишет:
"единственное, что приходит на ум:
переводить строку в последовательность байт и далее уже декодировать в utf-8.
объект String - это всегда Unicode.
byte bMess[] = message.getBytes("UTF-8");
String sNewMess = new String(bMess, "UTF-8") "
а смысл разве есть? это получится тоже самое что и просто записать строку