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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> utf-8 
:(
    Опции темы
Tony
  Дата 27.11.2007, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



Проветик всем. smile 
Написал прогу исползующую файл. В файле буквы англиские и латышские. Соответственно 4итаю файл так:
Код

    BufferedReader reader = new BufferedReader(new InputStreamReader(fileInput,"utf-8"));
    String line = null;
    System.out.println(reader.readLine());
.................

Программа отли4но работает под Линух. Перехожу на винду.Пишу файл сохраняю его в .тхт в утф-8. И вот проблема, по4ему то, потом когда прога 4итает появляется  в первой страке символ: "?". По4ему появляется не понятно. 4то ещё интерсно так ето то 4то. Если посмотреть в NotePAd++ файл из линукса .тхт то он кодитовки: ANSI As Utf-8,a видовский просто UTF-8. Такое ощущение 4то у них разное понятие Утф-8.  smile 
П.с. jdk .1.6
Если файл с содержимим: iii. To reader.readLine(); вернёт ?iii


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Tony
Дата 27.11.2007, 02:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



решил так:
Код

    if (key.substring(0,1).getBytes()[0] == 63){
                            key = key.substring(1);
                        }

Вырезать первий символ. Но не хорашо это :/  smile 

Это сообщение отредактировал(а) Tony - 27.11.2007, 02:25


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Vasay
Дата 27.11.2007, 05:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

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



А откуда приходят данные для сохранения?


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
skhilkov
Дата 27.11.2007, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Tony,  проблема в том, что "консоль" винды использует по умолчанию другую кодировку, чем гуйные приложения той же винды. Например, у меня вместо cp1251 кажется, стоит cp866. Поэтому при выводе на консоль попробуй сконвертировать строку в ету кодировку. Для теста попробуй то что выводишь на консоль написать в какое-нибудь окошко.....  
Надеюсь поможет...... если я не ошибаюсь ))


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
_Michael
Дата 27.11.2007, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Tony, прочти http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%....82.D0.BE.D0.B2
предполагаю что твой "?" в начале первой строки ето и есть ети "EF BB BF" из которых начинается файл. А  BufferedReader который ты  используеш, наверное не знает что первые байты надо проверять поскольку они указывают кодировку в которой сохранен файл, и поетому ты указал что формат utf-8 и все - он с первого же байта и читает. smile 
А в Линуксе можно предположить (не утверждаю поскольку не знаю) такого нету и поетому и знака вопроса тоже там нет. smile


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
Tony
Дата 27.11.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



skhilkov,  етo ne тольско в консоле, но и в Еклипсе.

_Michael, по4итаю. Но как я вижу решениа толкового нету.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
w1nd
Дата 27.11.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


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

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



Цитата(_Michael @  27.11.2007,  10:19 Найти цитируемый пост)
наверное не знает что первые байты надо проверять поскольку они указывают кодировку в которой сохранен файл

Потому что нет такого правила. Эти сигнатуры какие-то совершенно левые товарищи придумали, никакого стандарта на этот счёт, ЕМНИП, нет. Так что просто не редактируйте utf-8 файлы нотепадом - это он гадит.

Это сообщение отредактировал(а) w1nd - 27.11.2007, 11:37


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
Tony
Дата 27.11.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



Цитата(w1nd @ 27.11.2007,  11:37)
Цитата(_Michael @  27.11.2007,  10:19 Найти цитируемый пост)
наверное не знает что первые байты надо проверять поскольку они указывают кодировку в которой сохранен файл

Потому что нет такого правила. Эти сигнатуры какие-то совершенно левые товарищи придумали, никакого стандарта на этот счёт, ЕМНИП, нет. Так что просто не редактируйте utf-8 файлы нотепадом - это он гадит.

Я WordPadom  редактил tam v utf-8. Даже если Noteped++  взять то всё равно будет ?


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
w1nd
Дата 27.11.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


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

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



Цитата(Tony @  27.11.2007,  11:51 Найти цитируемый пост)
Даже если Noteped++  взять то всё равно будет ?

Сомнительно.


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
Tony
Дата 27.11.2007, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

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



Цитата(w1nd @ 27.11.2007,  14:36)
Цитата(Tony @  27.11.2007,  11:51 Найти цитируемый пост)
Даже если Noteped++  взять то всё равно будет ?

Сомнительно.

Подозрительно  smile 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Platon
Дата 27.11.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

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



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

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

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


 




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


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

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