|
|
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток. Вот уже 2 дня не могу справиться с этой проблемой: Соединяюсь с MySQL, затем делаю select, пытаюсь вытащить строчку с русским именем, на выходе каракули. Работаю под win2000. Все кодировки в MySQL настроены на Cp1251. При коннекте "characterEncoding" и "characterSetResults" тоже ставлю Cp1251. Статью Астахова читал ). Вот пример кода: code:-------------------------------------------------------------------------------- import java.io.*; import java.util.*; import java.sql.*; public class test { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch(java.lang.ClassNotFoundException e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage()); System.exit(1); } /* Establishing connection */ String url = "jdbc:mysql://localhost/interbank"; Connection con=null; Properties connInfo = new Properties(); connInfo.put("user","root"); connInfo.put("password","pass"); connInfo.put("useUnicode","true"); connInfo.put("characterEncoding","Cp1251"); connInfo.put("characterSetResults","Cp1251"); try { con = DriverManager.getConnection(url,connInfo); }catch (Exception e ) { System.out.println("DB connection error:"); e.printStackTrace(); } Statement stmt=null; try{ stmt= con.createStatement();; }catch(Exception e){System.out.println("Connection error");} try{ String query = "SELECT * FROM banks where bankseek='123456785'"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String str = rs.getString("name"); FileOutputStream fo = new FileOutputStream(".\\test"); //byte[] winData = str.getBytes("UTF-8"); byte[] winData = str.getBytes("Cp1251"); /* Асли писать строку через FileWriter - результат тот же (( */ fo.write(winData); fo.close(); } }catch(SQLException ex) { System.out.println("SQLException caught"); while (ex != null) { System.out.println("Message: "+ ex.getMessage()); System.out.println("SQLState: "+ ex.getSQLState()); System.out.println("ErrorCode: "+ ex.getErrorCode()); ex = ex.getNextException(); System.out.println(""); } }catch (Exception e ){e.printStackTrace();} } } -------------------------------------------------------------------------------- P.S. Самое интересное в том, что некоторые буквы отображаются нормально. Базу я создавал через стандартный MySQL CommandLine Client. Буду очень благодарен за помощь. // ************************************************** ***************** Вот пришел домой. Теперь после INSERT`а через MySQL CommandLine Client русские буквы не сохраняются должным образом (о чём свидетельствуют каракули в том же MySQL CommandLine Client), зато если писать в таблицу из программы, а потом из нее же читать всё работает нормально. Кроме того всякие GUI клиенты тоже отображают русские буквы адекватно (и это меня вполне устраивает). Разница лишь в том, что на работе стоит win2k_ENG, а дома winXP_RUS. И нужно чтобы работало это на работе... Может у кого-нибудь есть мысли как решить эту проблему? Варианты типа "Поставь на работу XP" не предлагать. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 08:14 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
Ты этот код где запускаешь? в cmd? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 08:44 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 08:49 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
нужно чтобы все таблицы в базе были в кодировке UTF-8, это как минимум. Вот здесь человек с такой же проблемой сталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 11:11 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
нужно чтобы все таблицы в базе были в кодировке UTF-8, это как минимум. Вот здесь человек с такой же проблемой сталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 11:11 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
wessenнужно чтобы все таблицы в базе были в кодировке UTF-8, это как минимум. Вот здесь человек с такой же проблемой сталкивался.а у тебя чего за провайдер? есть маза, что мы с тобой в одной сетке сидим :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 11:28 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, разобрался: проблема заключалачь в том, что таблица была создана с использованием кодировки latin1, а дома я создавал таблицу с уже измененной кодировкой Cp1251. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 11:42 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
asdasdasa wessenнужно чтобы все таблицы в базе были в кодировке UTF-8, это как минимум. Вот здесь человек с такой же проблемой сталкивался.а у тебя чего за провайдер? есть маза, что мы с тобой в одной сетке сидим :) А ты вообще кто есть? И что за маза такая? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 11:43 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
оффтоп а как провайдера узнать? ипользую traceroute, а он только внутренние маршрутизаторы показывает, а админу звонить не хочется:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 11:50 |
|
||
|
Проблема с кодировкой при работе с MySQL.
|
|||
|---|---|---|---|
|
#18+
wessen asdasdasa wessenнужно чтобы все таблицы в базе были в кодировке UTF-8, это как минимум. Вот здесь человек с такой же проблемой сталкивался.а у тебя чего за провайдер? есть маза, что мы с тобой в одной сетке сидим :) А ты вообще кто есть? И что за маза такая? :)вообще, я местный :) и если глянуть на статистику http://www.sql.ru/users/cat2/statistics.asp то по критериям "форум java" и "самые активные авторы" я занимаю почетное первое место :) а если учесть в том же списке еще двух моих клонов, то вообще - с большим отрывом от НеГониНаНас'а :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 17:38 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32965272&tid=2152794]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 335ms |

| 0 / 0 |
