|
33 / 33 / 7
Регистрация: 09.04.2011
Сообщений: 119
|
|
Это любопытно (русские буквы)28.04.2011, 05:24. Показов 6362. Ответов 5
Метки нет (Все метки)
В моём приложении есть модуль, осуществляющий работу с сервером. Он занимается загрузкой графов на сервер и их получением оттуда. Графы передаются построчно, при сохранении на сервер пользователь указывает имя, имя должно быть уникально.
Русские буквы в имени я использовать не запрещал (видимо по наивности). Теперь столкнулся со странным явлением. Некий юзер загружает на сервер граф и называет его русским словом (литературным вполне словом, "дискретка" кажется) . Так вот. Когда я запускаю JAR архив, русские буквы показываютя нормально. Но стоит запустить то же самое приложене из NetBeans - вместо русских букв в списке графов для загрузки - квадраты.Очевидно, что-то с кодировками. Причём что совсем уже странно - запрос на загрузку графа вроде как проходит (правда там вместо реальных данных был мусор, так что моя прога вылетала с исключением, пришлось дорабатывать код чтобы подстраховаться от таких ситуаций). А вот запрос на удаление - нет. То есть сервер-таки не опознаёт переданное имя и не находит в хэш-таблице соответствия. И поэтому ничего не удаляет. Насчёт удаления завтра буду копать в чём дело, а насчёт квадратов у меня пока лишь одна версия - JRE, которая запускает JAR файлы на моей машине, новее чем JDK, которую видимо использует NetBeans. И поэтому ей русский текст не страшен. Хотя может дело совсем не этом... У кого какие мысли по этому поводу? Запретить русские имена, обновить JDK, использовать какой-то специальный метод для перекодирования? Дело в том что имя (как и все остальные данные графа, которые правда представляют собой исключительно цифры и латинские буквы) передаётся чеез сокет по HTTP. И закодировано оно, надо думать, в UTF-8. Кто его знает, что там происходит по дороге... Хотя с другой стороны - при первом варианте же читается. Проблема встретилась на JDK 1.5.0_06 и 1.6.0_18. На JRE 5 увы не проверял что будет... На JRE 6 всё тип-топ
0
|
|
| 28.04.2011, 05:24 | |
|
Ответы с готовыми решениями:
5
Русские буквы в консоли Русские буквы в консоли Регулярные выражения русские буквы |
|
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
|
|||
| 28.04.2011, 07:43 | |||
|
1
|
|||
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
| 28.04.2011, 10:20 | |
|
И до кучи -
0
|
|
|
33 / 33 / 7
Регистрация: 09.04.2011
Сообщений: 119
|
||
| 29.04.2011, 04:19 [ТС] | ||
Кстати, любопытный момент: NetBeans 5.5 (которую я поставил из-за того, что в ней визуальный редактор форм генерирует правильный код под Java 5) ни в какую не хочет отображать руссский текст комментов, набранный в NetBeans 6.8. Ковыряние в настройках ничего не дало (наверно, не там ковырял). Кстати, русский текст, набранный в версии 5.5, в 6.8 превращается в квадратики. А ещё у меня в одном месте использовался символ бесконечности. Так вот, стоило открыть этот файл в NetBeans 5.5, как бесконечность превращалась в несколько кракозябр. Причём эти кракозябры после пересохранения отображались уже и в моей программе. При попытке скопировать символ из NetBeans 6.8 через буфер обмена в коде появлялась-таки бесконечность, но только до первого сохранения. После него она заменялась на вопросительный знак. И при компиляции в моей проге тоже был вопросительный знак. Подозреваю, что проблема была в том, что редактор кода NetBeans 5.5 не знает, что такое UTF-8. В настройках я ничего на этот счёт не нашёл...
0
|
||
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
||
| 29.04.2011, 10:28 | ||
|
Кстати, если Вы переключитесь на вкладку Libraries (), то первым пунктом там идет Java Platform и кнопка Manage Platforms, нажав которую Вы можете добавить любой Java SDK - у меня там 6-й и 7-й (). Выбрав нужный SDK из выпадающего списка Java Platform (а также версию языка в списке Source/Binary format на прошлой вкладке), Вы получите возможность использовать любую версию в одной и той же IDE. И для использования Java5 не придется ставить NB 5.5.
0
|
||
|
33 / 33 / 7
Регистрация: 09.04.2011
Сообщений: 119
|
|
| 29.04.2011, 22:06 [ТС] | |
|
Про то, что Вы написали во втором обзаце, я и так прекрасно знаю.
![]() И поверьте, я это делал. Проблема в том, что на код, создаваемый визуальным редактором, это не влияет. Помните, я писал Вам на другом форуме про GroupLayout, которого нет в JDK5? Ну так вот, я слегка ошибся. Он есть, но как внешний модуль, расположенный совсем в другом месте. Но самое забавное - я пытался заменять путь к этому классу с помощью функции "Найти и заменить". Так вот, NetBeans 6.8 после такой замены и смены платформы на пятую в настройках проекта всё равно подчёркивает код красным. И да, то что Вы написали не объясняет, почему символы, набранные на русском в рзных версиях, не совместимы. Возможно, это и правда где-то есть в настройках, но я увы не нашёл. Добавлено через 7 минут Да, я кстати не замечал этих выпадающих списков внизу, спасибо за скриншот) Сейчас посмотрю, есть ли это в NetBeans 5.5 Вот ещё что странно: я сейчас тоже открыл граф и загрузил его на сервер под именем "дискретка". Сейчас в IDE русские буквы отображаются правильно! Может, у того товарища что-то с компом? Неправильные настройки кодировок? Добавлено через 4 минуты А, чтоб её! ![]() Представляете как обидно, в NetBeans 5.5 нет нижнего поля, где можно выбрать кодировку исходного кода! Добавлено через 14 минут А перебор разных кодировок в NetBeans 6.8 тоже ничего не дал. Мне так и не удалось подобрать кодировку, при которой бы читался русский текст. Очевидно, это что-то однобайтовое. И точно не UTF-16 и не UTF-32. Это прямо в глаза бросается, если выставить такое значение, получается полная абракадабра. При UTF-8 код читается, но вместо русских букв квадраты. При всех остальных вариантах латиница читается нормально, а вместо русских букв - хрень. Наверно, какая-то однобайтовая нативная кодировка, поди теперь разберись, когда в настройках пятой версии этого нет... А не могли за эти годы стандарты UTF-8 смениться? Ну мало ли... Иначе как ещё объяснить, по идее все версии NetBeans должны юзать её п умолчанию...
0
|
|
| 29.04.2011, 22:06 | |
|
Помогаю со студенческими работами здесь
6
В консоль не выводит русские буквы Как отобразить русские буквы
Intelij IDE не выводит русские буквы Что изменить, чтобы нормально выводились русские буквы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|