Xwab
Форумыnavigate_nextБазы данных

Java SE и MySQL
Сообщения
waplus

у меня такая проблемка. читаю данные из таблиц, все норм, а вот записываю, получаются кракозябры, какие тока кодировки не пробовал, ничего не получается.. все таблицы в UTF-8. может кто знает решение проблемки? буду весьма благодарен

16 Янв 2013, 21:04
kos

у java utf-16 если не ошибаюсь. Принудительно укажи кодировку для записываемых данных. И в самой таблице ведь указано в какой кодировке хранить данные.

16 Янв 2013, 21:20
waplus

kos пишет:
"у java utf-16 если не ошибаюсь. Принудительно укажи кодировку для записываемых данных. И в самой таблице ведь указано в какой кодировке хранить данные."

да пробовал я переводить конвертировать из utf-16 в utf-8 - не помогло. и если ява работает в utf-16 то как же она выводит данные в utf-8 корректно?

16 Янв 2013, 22:18
kos

waplus, я ява не кодил еще так что хз.

16 Янв 2013, 22:33
Fever

код в студию.

16 Янв 2013, 22:58
waplus

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')"));
}

17 Янв 2013, 0:32
Fever

единственное, что приходит на ум:

переводить строку в последовательность байт и далее уже декодировать в utf-8.

объект String - это всегда Unicode.

byte bMess[] = message.getBytes("UTF-8");
String sNewMess = new String(bMess, "UTF-8")

17 Янв 2013, 16:03
waplus

Fever пишет:
"единственное, что приходит на ум:

переводить строку в последовательность байт и далее уже декодировать в utf-8.

объект String - это всегда Unicode.

byte bMess[] = message.getBytes("UTF-8");
String sNewMess = new String(bMess, "UTF-8") "


а смысл разве есть? это получится тоже самое что и просто записать строку

17 Янв 2013, 23:48
Ответить на тему