|
|
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть такая ситация - создается файл для последующей печати его на принтере, которому для печати требуется досовая кодировка. Сразу скажу, что настраивать кодировки на самом принтере возможности нет - на нем работают другие программы, которые должны продолжать работать. Да и дело не в принтере. Так вот, создается файл. Если в него писать строки в кодировке по умолчанию, то проблем нет(но есть проблема с распечаткой). Но если добавить такую строку в код: Код: java 1. то вместо буквы "Ш" вопросительный знак. Остальные символы перекодируются нормально. Подскажите, может кто знает в чем может быть дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 12:12 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
iltaПодскажите, может кто знает в чем может быть дело? В непонимании кодировок и работы с ними. Решение в лоб -Dfile.encoding=cp866 Правильное решение требует просмотра вашего кода. Либо вы файл читаете в строку без указания кодировки. Либо в настройках PrintJob надо покопаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 12:21 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
ilta, Если из файла в строку вы не читаете, и строки в дебаггере выглядят нормально, то обратите внимание на класс DocFlavor. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 12:23 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
Непонимание имеется, да. Спасибо за внимание к моей проблеме. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. _sPrintText - текст, который надо отправить на печать _iCountLines - количество строк на листе _sFilePath - путь к файлу _sFileName - имя файла Мне кажется, проблема появляется до записи в файл, так как в консоль выводит тот же вопросительный знак. За -Dfile.encoding=cp866 спасибо, приберегу на безвыходную ситуацию, если решение не найдется. Дело в том, что если отправлять на печать, а не сохранять в файл, то тоже вместо "Ш" вопросительный знак - и эту проблему тоже надо решить. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 13:07 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
ilta Код: java 1. Этого в вашем коде быть не должно никогда. iltaМне кажется, проблема появляется до записи в файл, так как в консоль выводит тот же вопросительный знак. При чем тут запись в файл? ilta Код: java 1. Ну, вот и нашелся источник болезни. Иногда полезно читать документацию RTFMThe constructors of this class assume that the default character encoding and the default byte-buffer size are acceptable Используйте Код: java 1. А ваши new String(sStr.getBytes()) - уберите. И так код не фонтан, а с этими костылями совсем не годится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 13:22 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
Спасибо вам большое! Теперь выгружает все символы корректно. Blazkowiczilta Код: java 1. Этого в вашем коде быть не должно никогда. Я обязательно запомню ваше замечание и с благодарностью приму другие, если у вас будет на это время и желание. BlazkowiczПри чем тут запись в файл? ilta Код: java 1. Нууу... так я отправляю текст на печать. *краснеющий смайлик* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 14:20 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
Переписала печать на lpt, вдруг кому пригодится. Код: java 1. 2. 3. 4. 5. sNewPage = "\f" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 15:38 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
ilta, Оставлю ссылку на важный урок. Вдруг кому пригодится. https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 17:00 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо вам большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 17:33 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
Blazkowiczilta, Оставлю ссылку на важный урок. Вдруг кому пригодится. https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html Из урока Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Мне вот интересно, при каких условиях и в try и в finally в этом примере может быть выкинуто исключение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 10:52 |
|
||
|
Перекодировка в cp866
|
|||
|---|---|---|---|
|
#18+
alexandererМне вот интересно, при каких условиях и в try и в finally в этом примере может быть выкинуто исключение? А что тут не понятного? - Создали читателя из файла - система сказала, что файл существует, всё ОК. - Попробовали прочитать. Система "открыла" файл. Чтение обломались из-за ошибки системы или железою - Java метод выкинул исключение - выполнение перешло в блок finally - Вызов метода close делегирует системе просьбу "закрыть" файл. Система опять обламывается ( например, диск более недоступен). Java создаёт и выкидывае новое исключение. Предыдущее "подавлено". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2016, 11:00 |
|
||
|
|

start [/forum/search_topic.php?author=nasgul&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 668ms |
| total: | 802ms |

| 0 / 0 |
