Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > utf-8 |
Автор: Tony 27.11.2007, 01:51 | ||
Проветик всем. ![]() Написал прогу исползующую файл. В файле буквы англиские и латышские. Соответственно 4итаю файл так:
Программа отли4но работает под Линух. Перехожу на винду.Пишу файл сохраняю его в .тхт в утф-8. И вот проблема, по4ему то, потом когда прога 4итает появляется в первой страке символ: "?". По4ему появляется не понятно. 4то ещё интерсно так ето то 4то. Если посмотреть в NotePAd++ файл из линукса .тхт то он кодитовки: ANSI As Utf-8,a видовский просто UTF-8. Такое ощущение 4то у них разное понятие Утф-8. ![]() П.с. jdk .1.6 Если файл с содержимим: iii. To reader.readLine(); вернёт ?iii |
Автор: Tony 27.11.2007, 02:25 | ||
решил так:
Вырезать первий символ. Но не хорашо это :/ ![]() |
Автор: Vasay 27.11.2007, 05:52 |
А откуда приходят данные для сохранения? |
Автор: skhilkov 27.11.2007, 06:45 |
Tony, проблема в том, что "консоль" винды использует по умолчанию другую кодировку, чем гуйные приложения той же винды. Например, у меня вместо cp1251 кажется, стоит cp866. Поэтому при выводе на консоль попробуй сконвертировать строку в ету кодировку. Для теста попробуй то что выводишь на консоль написать в какое-нибудь окошко..... Надеюсь поможет...... если я не ошибаюсь )) |
Автор: _Michael 27.11.2007, 10:19 |
Tony, прочти http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4#.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.B1.D0.B0.D0.B9.D1.82.D0.BE.D0.B2 предполагаю что твой "?" в начале первой строки ето и есть ети "EF BB BF" из которых начинается файл. А BufferedReader который ты используеш, наверное не знает что первые байты надо проверять поскольку они указывают кодировку в которой сохранен файл, и поетому ты указал что формат utf-8 и все - он с первого же байта и читает. ![]() А в Линуксе можно предположить (не утверждаю поскольку не знаю) такого нету и поетому и знака вопроса тоже там нет. ![]() |
Автор: Tony 27.11.2007, 11:22 |
skhilkov, етo ne тольско в консоле, но и в Еклипсе. _Michael, по4итаю. Но как я вижу решениа толкового нету. |
Автор: Tony 27.11.2007, 11:51 | ||||
Я WordPadom редактил tam v utf-8. Даже если Noteped++ взять то всё равно будет ? |
Автор: w1nd 27.11.2007, 14:36 |
Сомнительно. |
Автор: Tony 27.11.2007, 21:48 | ||
Подозрительно ![]() |
Автор: Platon 27.11.2007, 22:17 |
Даа, эта метка в utf файлах как бельмо в глазу... хочется избавиться, а тем, что есть не получается :( Я видимо маньяк, но делаю все utf-8 файлы в IDEA или ZendStudio, никаких BOM меток нет ^_^ |