Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
1

Неверная кодировка при записи в БД

18.02.2014, 17:23. Показов 2309. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите разобраться с кодировкой
Сделала приложение который записывает на базу данные, данные на русском
Вот когда ввожу данные то на базе выходят ??? вот такие символы
Переменные на базе на utf-8
get_bytes делала не помогает
Java
1
2
String insert="insert into aral(username,lastname,thirdname,work,mobile,home,inside,email)" + "values('"+ username +"','"+ lastname +"','"+ thirdname +"','"+ work +"','"+ mobile +"','"+ home +"','"+ inside +"','"+ email +"');";
            String new_insert = new String (insert.getBytes("UTF-8"));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2014, 17:23
Ответы с готовыми решениями:

tomcat6 jre ubuntu и неверная кодировка
Здравствуйте, есть сервлет геосервер, на убунте стоит томкат6 и JRE 1.6.0_26, это все находится...

Неверная кодировка при записи в БД
Бьюсь уже 2 день... HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...

Неверная кодировка при записи в БД
В базе данных стоит тип данных nvarchar(200), если записать кирилицу прямо через Management Studio ...

Неверная кодировка при записи в БД
Проблема очень нестандартная и странная. При записи данных (а именно строка с кирилицей в UTF-8)...

2
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
18.02.2014, 17:34 2

1
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
19.02.2014, 13:50  [ТС] 3
Спасибо
У меня вопрос
Когда делаю
Java
1
2
3
4
5
BufferedReader br = new BufferedReader(
                        new InputStreamReader(
                            new FileInputStream("alphabet.cp1251"),"UTF-8"));
String str = br.readLine();
System.out.println(str);
Выходит квадратики
Затем делаю так
Java
1
2
3
4
5
BufferedReader br = new BufferedReader(
                        new InputStreamReader(
                            new FileInputStream("alphabet.utf8"),"cp1251"));
String str = br.readLine();
System.out.println(str);
Выводит кракозябры вроде ЯабвгдеёжзийклмнопрстС
После чего в phpmyadmin шрифты ставлю на cp1251 и на ,UTF-8 но все те же ??? знаки
Все еще не могу понять в чем ошибка Но почему в мускль он не распознает?

Добавлено через 1 час 35 минут
Заметила еще кое-что:
Переписывала на 1251 и так
Java
1
2
3
connInfo.put("user","root");
connInfo.put("password","123456789");
connInfo.put("charSet", "cp1251");
и так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 public  boolean insert(String username, String lastname, String thirdname, String work, String mobile, String home, String inside, String email) {
            
        try{
            dbController db=new dbController();     
                        String username1= new String (username.getBytes("cp1251"));
                        String lastname1 = new String (lastname.getBytes("cp1251"));
                        String thirdname1 = new String (thirdname.getBytes("cp1251"));
                        String work1 = new String (work.getBytes("cp1251"));
                        String mobile1 = new String (mobile.getBytes("cp1251"));
                        String home1 = new String (home.getBytes("cp1251"));
                        String inside1 = new String (inside.getBytes("cp1251"));
                        String email1 = new String (email.getBytes("cp1251"));
                        
                         String insert="insert into aral(username,lastname,thirdname,work,mobile,home,inside,email)" + "values('"+ username1 +"','"+ lastname1 +"','"+ thirdname1 +"','"+ work1 +"','"+ mobile1 +"','"+ home1 +"','"+ inside1 +"','"+ email1 +"');";
                        
                         if(db.insertDB(insert))
                return true;
        }catch(Exception e){
            e.printStackTrace();
        }
        return false;
    }
Когда БАЗА на 1251 то при запуске выходит ошибка типа
Java
1
java.sql.SQLException: Incorrect string value: '\x9D' for column 'username' at row 1
То есть у меня декодер на utf-8 ? Но когда и базу перевожу на utf-8 появляются вопросительные знаки(((

Добавлено через 2 часа 53 минуты
Блин кажется проблема в mysql
Я строку insert вывожу на консольке и он нормально кириллицу показывает, как только попадет в базу всякие вопросительные знаки-__-
Но в базе через пхпадмин поставила и 8 и 1951, блин ничего не помогает(((
Кстати вы там писали
Дело в том, что, существуют две разновидности JRE – с поддержкой "многоязыковости" и без нее. Почему так? Потому что эта поддержка требует приблизительно 30Мб дополнительного пространства на диске и, что более важно, дает около 10Мб дополнительного размера инсталляционного файла, увеличивая его больше чем в 2 раза (речь именно о JRE, не о JDK).
У меня только нетбинс с JDK, может ли проблема быть в этом?

Добавлено через 17 минут
Блин у меня получилось))
Дело было как я и говорила в мускле
В общем если у кого то будет похожая проблема
то эта ссылка мне помогла)))
http://forum.php-myadmin.ru/viewtopic.php?id=1412
0
19.02.2014, 13:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2014, 13:50
Помогаю со студенческими работами здесь

Неверная кодировка при записи в файл
Пишу маленькую СУБД. Когда тестировал функцию ввода в файл, вместо человеческих слов выдает неясные...

Неверная кодировка при записи в файл
Пишу программу, которая данные из формы заносит в dbf-файл по нажатию кнопки. Код кнопки такой...

Неверная кодировка при записи в файл
помогите доделать программу, пожалуйста. Прога выводит данные о кругах, записывает в файл, но...

Неверная кодировка при записи в файл
как сделать так чтобы программа смогла записывать русский и украинский язык у меня записывает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru