remedius
Гость
|
|
« : 16-12-2006 13:46 » |
|
Никак не получается подобрать значения для COLLATE так, чтоб оно соответсвовало кодироке файла txt. Т.е. Если я пишу для БД COLLATE Cyrillic_General_CI_AS, то в каком виде надо сохранить мне txt файл, что потом читались русский слова, если например в txt файле что-то типа: INSERT my_table VALUES('значение'). Спасибо
|
|
« Последнее редактирование: 12-12-2007 15:26 от Алексей1153++ »
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #1 : 17-12-2006 07:47 » |
|
Не понятно. Что значит "соответствовало кодировке файла"? Что пишется в БД вместо 'значение'?
|
|
« Последнее редактирование: 12-12-2007 15:26 от Алексей1153++ »
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
remedius
Гость
|
|
« Ответ #2 : 17-12-2006 11:18 » |
|
'значение' - слово на русском языке. Проблема в том, что в таблицах абра кодабра. Нужно как-то совместить кодировку txt файла с кодировкой БД. Чтобы русские слова нормально проипсывались.
|
|
« Последнее редактирование: 12-12-2007 15:27 от Алексей1153++ »
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #3 : 17-12-2006 18:12 » |
|
Может проблема не в записи, а в чтении? Ведь заявить "в таблицах абракадабра" можно только на основании чтения этих таблиц. А как это чтение проходит - вопрос отдельный . Давай подробно с примерами кода и результатами.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
remedius
Гость
|
|
« Ответ #4 : 17-12-2006 20:06 » |
|
Не понимаю, что еще написать. Есть txt файл, в котором записаны комманды. Например INSERT my_table VALUES('значение'). Запускаю cmd выполняю даный txt. Вот и все. После в таблице my_table вместо слова 'значение' абра кадабра.
|
|
« Последнее редактирование: 12-12-2007 15:28 от Алексей1153++ »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #5 : 17-12-2006 20:09 » |
|
remedius, во время исполнения программы переключи раскладку на русскую Просто попробуй, это как эксперимент
|
|
|
Записан
|
|
|
|
remedius
Гость
|
|
« Ответ #6 : 17-12-2006 20:10 » |
|
какой программы???
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #7 : 17-12-2006 20:25 » |
|
remedius, Вопрос. Я так понял по фразе cmd, что ты запускаеш программу в консоле и программа твоя работает в консоле?
Второй вопрос: Как ты записываеш текст в базу?
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
remedius
Гость
|
|
« Ответ #8 : 17-12-2006 20:27 » |
|
1.значит так. Я пишу что типа: isql -E -n -imy_txt_file.sql 2. Вот так:INSERT my_table VALUES('значение')
|
|
« Последнее редактирование: 12-12-2007 15:29 от Алексей1153++ »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #9 : 17-12-2006 20:32 » |
|
remedius, Когда ты набираеш русский текст в IDE. Как правило в кодировке Windows-1251. В консоле работает кодировка CP866. Нужно при выводе текста переводить кодировку с помошью OEM функций.
|
|
« Последнее редактирование: 17-12-2006 20:38 от Finch »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
remedius
Гость
|
|
« Ответ #10 : 17-12-2006 20:34 » |
|
я русский текст набираю в txt файле. Не понимаю, что я должна сделать.
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #11 : 17-12-2006 20:39 » |
|
Русский текст ты набираеш в текстовом редакторе самой винды?
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
remedius
Гость
|
|
« Ответ #12 : 17-12-2006 20:43 » |
|
ну да. Прям там я пишу:INSERT my_table VALUES('значение')
|
|
« Последнее редактирование: 12-12-2007 15:30 от Алексей1153++ »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #13 : 17-12-2006 20:58 » |
|
Перед тем как выводить на консоль текст, обработой его функцией CharToOem
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
remedius
Гость
|
|
« Ответ #14 : 17-12-2006 21:00 » |
|
не поняла все равно. Я его на консоль не вывожу. Я использую консоль чтобы связаться БД и выолнить комманды в txt. А табоички я просматриваю уже в ентерпрайз манагере, или посредством запросов.
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #15 : 17-12-2006 21:58 » |
|
Примерно понял. Как вариант. При записи текстового файла, сохранить его в кодировке CP866 и попробывать его запустить Но скорее всего в самой базе должен быть перекодировшик.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
remedius
Гость
|
|
« Ответ #16 : 17-12-2006 22:09 » |
|
Замечательно, а как его сохранить то в CP866? Я могу сохранить только в Unicode, UTF-8, ANSI:)
|
|
|
Записан
|
|
|
|
HandKot
Молодой специалист
Offline
|
|
« Ответ #17 : 18-12-2006 06:40 » |
|
'значение' - слово на русском языке. Проблема в том, что в таблицах абра кодабра. Нужно как-то совместить кодировку txt файла с кодировкой БД. Чтобы русские слова нормально проипсывались.
используйте утилиту isqlw.exe в ней можно задать кодировку входного файла для кодировки виндоус будет А примерно так isqlw -S МойСервер -d МояБаза -E -i test.sql -FA ЗЫЖ есть подозрение, что isql просто не поддерживает русскую кодировку
|
|
« Последнее редактирование: 12-12-2007 15:32 от Алексей1153++ »
|
Записан
|
I Have Nine Lives You Have One Only THINK!
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #18 : 18-12-2006 13:39 » |
|
А ещё лучше osql. Утилита isql работает как клиент SQL Server 6.5 и считается устаревшей - не может выполнять некоторые команды. Утилита osql работает как клиент SQL Server 2000 и обладает большими возможностями.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
remedius
Гость
|
|
« Ответ #19 : 18-12-2006 16:38 » |
|
Действительно проблема была в этом! Спасибо!
|
|
|
Записан
|
|
|
|
|