[Шаманство]Чем отличается винда английская от винды русской?

schipuchka1

История такова: есть проект на Java, который писало десятка 3 людей с руками различной кривости. Есть винда№1, русская, место жительства - Россия, дефолтный неюникодный - русский. Есть винда№2 - английская, место жительства - Россия (без этого глючит в другом месте дефолтный неюникодный - русский. На первой отбражается всё нормально, на второй - крикозябрами (юникод, если смотреть в цп1252) С чем это может быть связано?

Dasar

дефолтный неюникодный - русский.
на всех аккаунтах? на системных тоже?

evgen5555

Что именно отображается "крикозябрами"?
Сама программа, ее вывод, какие-либо отдельные окна?
Переменные окружения в обоих случаях сравнивали?

schipuchka1

на всех аккаунтах? на системных тоже?
прога работает под апачем\жбоссом только на текущем логине

schipuchka1

сообщения, которые берутся из откомпиленных Java-классов

evgen5555

т.е., нечитаемые строки уже зашиты в класс после сборки?

schipuchka1

компилируются проекты при помощи одинакового ант билда. А вообще идея, хотя всё равно не понятно из-за чего могут быть отличия

serega1604

>компилируются проекты при помощи одинакового ант билда. А вообще идея, хотя всё равно не понятно из-за чего могут быть отличия
компилируются прямо на той машине где запускаются? как между машинами исходники переносились? указан ли encoding в параметрах javac?

schipuchka1

исходники слиты с свн, настройки javac проверю, их ещё не проверял, но вроде всё указано. В любом случае было бы странно, что на одной машине по дефолту юникод, а на другой - cp

serega1604

подозреваю что в исходниках у тебя чо-нить типа cp1251, а на второй машине компилируется считая что cp1252 или какая-нибудь подобная хуета.

schipuchka1

нет, это я первым проверил :)
в исходниках юникод

Werdna

История такова: есть проект на Java
И после этого кто-то говорит о кроссплатформенности явы?

Maurog

в исходниках юникод
ну нет такой кодировки :mad:

kill-still

посмотри в каких кодировках лежат фалы в SVN, и насильственно перегони всё в юникод. и в опциях выстави чтобы при коммите свн-сервер автоматически преобразовывал.

schipuchka1

юникод везде (UTF-8 вернее)

kill-still

а текст везде именно в виде явовских стейтментов, или есть ещё что-то (например xml) ?
по разному выводятся при использовании в одинаковых методах/классах, или в разных? Один ли тот же стейтмент, или разные?

Vyacha

а как строки выводятся? просто out.write ? или они собственноручно преобразуются в байты и уже эти байты посылаются в ответ?
указывается ли перед выводом кодировка ответа?
есть ли такая же проблема со строками, введенными пользователем?

schipuchka1

строки хранятся в виде стринговых констант, пишутся надстройкой над гуглёвым компилятором

sutulin

Вроде это известная проблема.
Например, в Райффайзене для работы с сервисом активных операций советуют использовать английскую версию апплета.
http://www.raiffeisen.ru/retail/dist/rba/raiffeisen-connect/...

Alena_08_11

У меня бывало подобное в XP (многие консольные штуки выдавали кракозябры). Обычно вылечивалось так:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"

Ну и для верности, все остальные 125X тоже заменить на c_1251.nls
Для XP это актуально, для более высоких - хз. С ними таких проблем не было.

saveliev_a

1) Это очень грязный хак для кривых программ.
2) Против кривых сообщений в консоли он не поможет.
3) Неактуален с висты.

Alena_08_11

Вот из проблем были только кривые сообщения с консоли, и именно от них оно помогало.

saveliev_a

Ок, пускай.

schipuchka1

кстати в чём дело было: на самом деле на русской винде так же проявлялись глюки (но сидящий там человек об этом не подозревал) - на русском компе работало в дев моде, а в продакшне тоже не работало, так что решилось проставлением кодировки в анте
Оставить комментарий
Имя или ник:
Комментарий: