Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

NetBins 6.9.1 и странные глюки с кодировкой

1
06 ноября 2010 года
kot_
7.3K / / 20.01.2000
Столкнулся с необъяснимым (для меня пока) глюком.
Есть некоторый проект (PHP - но врядли это имеет какое то значение).
В этом проекте имеется файл, с названием lang_ru.properties, в котором как понятно из названия содержатся строки локализации, например:
Цитата:

3g.client.msg.thanks=Спасибо за оставленный отзыв!
3g.client.msg.feedback.sent=Ваш отзыв добавлен в базу данных и вы можете увидеть его на сайте!


но вместо этого в нем отображается:

Цитата:

3g.client.msg.thanks=Спасибо за оставленный отзыв!
3g.client.msg.feedback.sent=Ваш отзыв добавлен в базу данных и вы можете увидеть его на сайте!


а на сайте и соотвественно в текстовом редакторе имеем вот такую картину

Цитата:

3g.client.msg.thanks=\u00d0\u00a1\u00d0\u00bf\u00d0\u00b0\u00d1\u0081\u00d0\u00b8\u00d0\u00b1\u00d0\u00be \u00d0\u00b7\u00d0\u00b0 \u00d0\u00be\u00d1\u0081\u00d1\u0082\u00d0\u00b0\u00d0\u00b2\u00d0\u00bb\u00d0\u00b5\u00d0\u00bd\u00d0\u00bd\u00d1\u008b\u00d0\u00b9 \u00d0\u00be\u00d1\u0082\u00d0\u00b7\u00d1\u008b\u00d0\u00b2!
3g.client.msg.feedback.sent=\u00d0\u0092\u00d0\u00b0\u00d1\u0088 \u00d0\u00be\u00d1\u0082\u00d0\u00b7\u00d1\u008b\u00d0\u00b2 \u00d0\u00b4\u00d0\u00be\u00d0\u00b1\u00d0\u00b0\u00d0\u00b2\u00d0\u00bb\u00d0\u00b5\u00d0\u00bd \u00d0\u00b2 \u00d0\u00b1\u00d0\u00b0\u00d0\u00b7\u00d1\u0083 \u00d0\u00b4\u00d0\u00b0\u00d0\u00bd\u00d0\u00bd\u00d1\u008b\u00d1\u0085 \u00d0\u00b8 \u00d0\u00b2\u00d1\u008b \u00d0\u00bc\u00d0\u00be\u00d0\u00b6\u00d0\u00b5\u00d1\u0082\u00d0\u00b5 \u00d1\u0083\u00d0\u00b2\u00d0\u00b8\u00d0\u00b4\u00d0\u00b5\u00d1\u0082\u00d1\u008c \u00d0\u00b5\u00d0\u00b3\u00d0\u00be \u00d0\u00bd\u00d0\u00b0 \u00d1\u0081\u00d0\u00b0\u00d0\u00b9\u00d1\u0082\u00d0\u00b5!


Что конечно не может не радовать. Поиск в гугле особо ничем не помог, рекомендации добавить в netbeans.conf -J-Dfile.encoding=UTF-8 проблему не решило. Причем проблема проявляется только в данном файле. Все остальные (с расширениями php, inc и пр.) никаких проблем, все отображается так как и должно. В свойствах проекта так же стоит UTF-8, файл сохранен в ней же, но проблема остается.
Файл кстати, был создан в eclipse, в нем тоже проблемы с кодировками, но вероятно проблему все же создал NB - на эклипсе кодировки поплыли после того, как я закомител проект.
Кто может подсказать?

244
06 ноября 2010 года
UAS
2.0K / / 19.07.2006
Хмм,сам не замечал бага такого.
Если создавать его в IDE, то всё норм, а если грузить текст, созданный где-то в другом редакторе, то ошибке вылетают.
Если переименовать файл в *.php, то кодировка становится нормальной. Видать, это особенности NetBeans обработки файлов *.properties, т.к. он при редактировании этих файлов весь текст сразу записывает в виде \u0412 (строкой) вместо 0412 (hex).

Вроде как в настройках у себя ничего не нашел, так что на крайний случай остается ручная конвертация двухбайтного представления русского символа в его 6-байтное строковое представление: 0412 (в hex) -> \u0412. В принципе, ковертор пишется просто.

Кстати, если "\u00d0\u00a1\u00d0" (первые три символа первой строки), то такого быть не должно, т.к. первые две цифры каждого символа должны быть C0 или D0, а здесь почему-то один символ (два байта в юникод) представлен как двумя разными символами (т.е. 4 байтами).
274
06 ноября 2010 года
Lone Wolf
1.3K / / 26.11.2006
глупый вопрос, но а в настройках проэкта какая кодировка стоит?
Дело в том что на Винде, нетбинс поумлочанию проэкты 1251 кодировкой делает... на никсах утф8, как в системе... у меня изза этого частро траблы были, когда приходилось один проэкт, то на вежрах, то на линуксе открывать
1
06 ноября 2010 года
kot_
7.3K / / 20.01.2000
Цитата: Lone Wolf
глупый вопрос, но а в настройках проэкта какая кодировка стоит?
Дело в том что на Винде, нетбинс поумлочанию проэкты 1251 кодировкой делает... на никсах утф8, как в системе... у меня изза этого частро траблы были, когда приходилось один проэкт, то на вежрах, то на линуксе открывать


вопрос действительно глупый так как во первых - ТС (т.е. я) указал в сообщении черным по белому:

Цитата:

В свойствах проекта так же стоит UTF-8, файл сохранен в ней же


да и никаких по "умолчанию 1251" какгбы даже и быть не может (хотя может быть тут я и ошибаюсь) ввиду того, что Java использует UTF-8. Может быть ты с Qt перепутал? Где действительно в QtCreator такая проблема есть. Но в прочем речь не про то. Проблема действительно похоже связана с багом IDE.

274
06 ноября 2010 года
Lone Wolf
1.3K / / 26.11.2006
А сорри не прочитал...
А насчет по умолчанию, я не попутал. В нетбинсе версий 5.0 5.5, такое точно было.
Тогда долго думал, почему кодировка херилась, когда с винды на Линух переносил...
5
06 ноября 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: kot_

Файл кстати, был создан в eclipse, в нем тоже проблемы с кодировками, но вероятно проблему все же создал NB - на эклипсе кодировки поплыли после того, как я закомител проект.
Кто может подсказать?


У файла BOM маркер присутствует?

2.1K
06 ноября 2010 года
Norgat
452 / / 12.08.2009
Цитата: kot_
да и никаких по "умолчанию 1251" какгбы даже и быть не может (хотя может быть тут я и ошибаюсь) ввиду того, что Java использует UTF-8.



хм... ставил сейчас maven, он выдаёт такое:

Цитата:
PS C:\Users\Norgat> mvn --version
Apache Maven 3.0 (r1004208; 2010-10-04 15:50:56+0400)
Java version: 1.6.0_18
Java home: c:\Program Files\Java\jre1.6.0_18
Default locale: ru_RU, platform encoding: Cp1251
OS name: "windows 7" version: "6.1" arch: "x86" Family: "windows"



я так понимаю что всётаки cp1251 юзается под виндой в жабе?

244
06 ноября 2010 года
UAS
2.0K / / 19.07.2006
hardcase, от BOM-маркера ничего не меняется, проблема в том, что *.properties ютф8-символ (русский) представлен не 2 байтами, а 6 байтами, потому неверное отображение.
В винде я ставил аналогичный проект - ставил и проект на utf-8 и локаль на en_US - без разницы.

З.Ы.: сорри, что вместо ТС отвечаю, просто сам заинтересовался, так как проблема в какой-то степени меня касается.
502
08 ноября 2010 года
Jail
550 / / 30.01.2007
Кое что удалось найти, а поточнее, комментарий одного из девелоперов пользующегося этим NetBeans'ом.
Цитата:
Just to inform you. Newest (6.9.1) version of NetBeans has a bug (at least under Windows), where if you open a file from project's main path (Source Files) all is OK and Unicode is respected. But when you open the same file from any path under Include Path you will see a garbage in place of Unicode characters.

This way, if you have Yii outside web-accessible path and must add it in NetBeans to IncludePath (for example for class reference to work) you may run into this problem.


Yii - это какой-то там фреймворк.
решений по-видимому несколько:
1. Откатиться к предыдущей версии
2. запостить баг
3. бросить NetBeans.

1
16 ноября 2010 года
kot_
7.3K / / 20.01.2000
Yii - не совсем "какой то там фреймворк" но в тех проектах, над которыми работаю в данный момент реализован собственный фреймворк - потому отпадает.
откатываться к предыдущей версии - долго и накладно, проще перенести все на эклипс, в котором все работает нормально.
Но с эклипсом есть пару моментов. В одном из которых не могу разобраться - как в нем указать файлы, которые не нужно синхронизировать с SVN? Если файл создается локально - ему можно выставить опцию ignore. А как это сделать для файлов полученных из хранилища и модифицированных локально?
502
16 ноября 2010 года
Jail
550 / / 30.01.2007
Это не должно зависеть от IDE. К примеру, я использую git и независимо от IDE глобально игнорируемые файлы заносятся в файл ".gitignore" в корне проекта.
В svn немного по иному:
в конфиг файле svn -->
 
Код:
windows: %APPDATA%\subversion\config
linux: ~/.subversion/config
находим секцию [miscellany] и раскомментируем global-ignores. может выглядеть примерно так:
 
Код:
global-ignores = *.iml desktop.ini

У меня IntelliJ IDEA и работает прекрасно, хотя svn уже тысячу лет не узал. Пора уж пора переходить на DVCS :)
1
16 ноября 2010 года
kot_
7.3K / / 20.01.2000
да. пробовал.
получаю сообщение:
Цитата:
Option expected org.tigris.subversion.javahl.ClientException: Malformed file svn: ... Option expected

274
16 ноября 2010 года
Lone Wolf
1.3K / / 26.11.2006
С консоли поставь опцию.. если ИДЕшка матюгается..
svn propset svn:ignore
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог