Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировка исходника и русские символы 
V
    Опции темы
Entry_N3
  Дата 26.5.2010, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007

Репутация: нет
Всего: нет



В Java-классе есть константа, которой присвоен литерал с русскими символами.

Это константа используется для заполнения поля таблицы оракловой БД.

Замечено, что если исходник этого класса в UTF-8, то в поле таблицы БД записывается нечитаемый текст.

Если исходник хранится в ANSI, то в поле таблицы БД читаемое русское значение.

Кто может объяснить, почему там может быть? Хотя бы предположения...

Это сообщение отредактировал(а) Entry_N3 - 26.5.2010, 21:05
PM MAIL   Вверх
ivanovpv
Дата 27.5.2010, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Все просто - кодировка БД должна совпадать с тем, что вы туда пишете. В данном случае - очевидно, что кодировка БД ANSI


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
Entry_N3
  Дата 27.5.2010, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007

Репутация: нет
Всего: нет



ivanovpv, спасибо.

Посмотрел кодировку SELECT * FROM NLS_DATABASE_PARAMETERS;

Код

NLS_CHARACTERSET
AL32UTF8


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

Не логично, да?

Это сообщение отредактировал(а) Entry_N3 - 27.5.2010, 10:17
PM MAIL   Вверх
Entry_N3
  Дата 27.5.2010, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007

Репутация: нет
Всего: нет



Идеи приветствуются!
PM MAIL   Вверх
yeputons
Дата 27.5.2010, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 1.4.2009
Где: Санкт-Петербург

Репутация: 1
Всего: 5



Может быть, Вы каким-то образом настроили компилятор javac на работу с ANSI-исходниками? Хотя Java по дефолту всегда и всё делает в юникоде.

PM MAIL ICQ Skype   Вверх
Entry_N3
  Дата 27.5.2010, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007

Репутация: нет
Всего: нет



yeputons, интересно, каким образом это возможно.
PM MAIL   Вверх
dobrolub
Дата 29.5.2010, 06:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 11
Всего: 16



У javac естъ encoding параметер которому нужно устанавливать значение кодировки файлов. Если файлы в UTF-8, то encoding для javac должен быть UTF-8. 

Код

javac -encoding utf-8 T.java


если -encoding не указан, javac возьмёт Default File System Encoding который и виндов один, у линукса - другой, у Мака третий.

В файла strings всегда в юникоде.

Лучше всего установить в IDE encoding в UTF-8, и прописать  в build.xml <javac encoding="utf-8", и все другие файлы проекта тоже сделать  utf-8 encoded по умолчанию.

Это сообщение отредактировал(а) dobrolub - 29.5.2010, 06:12
PM   Вверх
Entry_N3
  Дата 4.6.2010, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 8.2.2007

Репутация: нет
Всего: нет



dobrolub, спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.