| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > ODAC и кодировка |
| Автор: underchronos 15.6.2010, 15:41 | ||||
| Использую ODAC, Delphi 2009, Oracle 10g Direct := true; UseOCI7 := false; Коннект такого вида:
Все хорошо селектся. Русские символы и т.п. Но когда передаю через параметры String, заносится примерно такое: D>=8=0 |
| Автор: Akella 15.6.2010, 16:42 |
| А ты что, разве не в курсе, что D2009 - это юникодная IDE? |
| Автор: underchronos 15.6.2010, 17:58 |
| Akella Это знание мне жизнь не облегчает. NLS_NCHAR_CHARACTERSET AL16UTF16 разве не поддерживает стандарт unicode? |
| Автор: Akella 15.6.2010, 20:52 |
Ты же указываешь, что кодировка подключения в Win1251. А данные в базу отправляешь в юникоде. Так? |
| Автор: Citytramp 23.10.2010, 16:43 | ||
| Наверное, лучше не создавать новую тему, потому что всё очень похоже: Использую DOA, Delphi 7, Oracle 9i. В реестре: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\nls_lang=RUSSIAN_CIS.CL8MSWIN1251 Данные на русском языке записываются и отображаются правильно. Но! На одном компьютере сообщения об ошибках (например, если потеряна связь с БД) выдаются на русском, а на другом компьютере - в крокозябрах. (В реестре одно и тоже). Если меняю в реестре кодировку на AMERICAN_AMERICA , то сообщения выдаются на английском, как и следовало ожидать, но пользователям надо на русском. Если это важно, то вот что возаращает запрос: select * from nls_database_parameters
Но дело в настройках не сервера, а клиента, т.к. БД одна, а на разных компах сообщения выдаются по-разному. Где посоветуете покопать? Интернет уже перерыт, не помогло. |