|
|
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста программу, которая сможет менять кодировку страницы для файлов из UTF-8 (65001) в DosRus(866). Или код на написание консольной программы тоже очень помог бы. Нужно посылать программе команды типа: cmd.exe C:\file_in.txt C:\file_out.txt file_in.txt - у же существующий файл в кодировке UTF-8 file_out.txt - создавайемый файл с изменённой кодировкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 15:31 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
iconv ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 15:37 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
-, и где такую программу можно скачать? я нашёл лишь, что это функция для php..., а мне нужна консольная программа которая бы создавала новый файл с изменённой кодировкой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 15:44 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
-iconv программа iconv для Linux, входящая в пакет glibs любого дистрибутива. Нужно под Windows... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 15:49 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
ftp://ftp.zlatkovic.com/libxml/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 15:54 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
On 09.02.2011 15:49, DomenER wrote: > программа iconv для Linux, входящая в пакет glibs любого дистрибутива. > > > Нужно под Windows... Ну дык поставь её под виндовз, в чём проблема-то ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 16:04 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
спасибо вам. теперь разобраться как ей пользоваться... в документации в инете пишут что-то типа Iconv.iconv('gbk', 'utf-8', string) а так iconv.exe form.txt и что ещё в качестве параметров указывать пока не понятно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 16:21 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
iconv -f UTF-8 -t CP866 FORM.txt > tmp.txt пишет cannot convert Из этого UTF-8: я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage); нужно получить вот это 866: Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 16:39 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
DomenERiconv -f UTF-8 -t CP866 FORM.txt > tmp.txt пишет cannot convert Из этого UTF-8: я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage); нужно получить вот это 866: Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage); 1) Что "точно" пишет? 2) Если UTF-8 и CP866 перечислены в поддерживаемых кодовых страницах - список можно получить "iconv -l", - то должно конвертиться. 3) Файл точно в UTF-8? Откуда Вы это знаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 16:48 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
-DomenERiconv -f UTF-8 -t CP866 FORM.txt > tmp.txt пишет cannot convert Из этого UTF-8: я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage); нужно получить вот это 866: Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage); 1) Что "точно" пишет? 2) Если UTF-8 и CP866 перечислены в поддерживаемых кодовых страницах - список можно получить "iconv -l", - то должно конвертиться. 3) Файл точно в UTF-8? Откуда Вы это знаете? 1)iconv: FORM.txt: cannot convert 2) перечислены 3) в Far просматриваю txt файл в кодировке Utf-8 (выборка кодовой страницы Shift+F8) и текст отображается на русском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 17:00 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
А так работает с другим текстом: iconv -f CP1251 -t utf-16 text.txt > tmp.txt а тест был просто набором русских символов: рпаркер65р56рз5клбрз6б ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 17:05 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
DomenER-пропущено... 1) Что "точно" пишет? 2) Если UTF-8 и CP866 перечислены в поддерживаемых кодовых страницах - список можно получить "iconv -l", - то должно конвертиться. 3) Файл точно в UTF-8? Откуда Вы это знаете? 1)iconv: FORM.txt: cannot convert 2) перечислены 3) в Far просматриваю txt файл в кодировке Utf-8 (выборка кодовой страницы Shift+F8) и текст отображается на русском. Far-то, ясен пень, понимает, что он туда написал. Но это может быть запросто UTF-8Y, например :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 17:14 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
В целом всем большое спасибо. На данном этапе топик больше не востребован, а так - время покажет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 17:22 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
DomenER, Ну вот в том же Фаре обрати внимание на коды символов. Функция конвертирования тривиальна. Напиши в Юникоде строку "Hello! A Z a z Привет! А Я а я" и просмотри это файл в 866-ой. Если код символа до 128-и - это однобайтовый латинский символ, который менять не надо. А коды русских букв, как видно в фаре двубайтовые и первый байт их 208 или 209. В таком случае первый выбрасываем, второй взаимнооднозначно приводим к коду соответсвующей буквы в 866-ой кодировке и вуаля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 17:32 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
Ой, ну не выбрасываем конечно первый байт! А берем двубайтовое число и вычитая из него смещение, получаем однобайтовое значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 17:34 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
Т.е. из "А" (1040) получаем "А" (128) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 17:35 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
CodePage ? Код: plaintext 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. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2011, 22:48 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
DomenERiconv -f UTF-8 -t CP866 FORM.txt > tmp.txt пишет cannot convert Из этого UTF-8: я╗┐Utilities.CallError("╨Э╨╡ ╨┐╨╛╨╗╤Г╤З╨╕╨╗╨╛╤Б╤М ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╨С╨Ф.<br/>" + error.ErrorMessage); нужно получить вот это 866: Utilities.CallError("Не получилось подключиться к БД.<br/>" + error.ErrorMessage); еще бывает utf-8 without bom - поищите укак точнее называеца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 00:13 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
mcccCodePage ? Исполняемый файл 16Кб - это здорово, конечно. Ассемблер? Но вот конвертит эта штука не в чистый UTF-8, а в UTF-8Y (UTF with BOM) - чем она пользуется для этого? Windows API? ТС может и подойдёт как раз, но вот что-то я первый раз на практике вижу, что кто-то использует BOM. Поэтому и спрашивал, откуда ТС знает исходную кодировку. BOM на практике не используют, потому что есть определители кодировки текста (по первым 1-2 Кб), которые довольно надёжно работают и определяют не только разновидности Unicode, но и всё остальное. К слову. Из всех знакомых редакторов наиболее корректно "разбирается" с кодировками jEdit. Просто читаете файл, и он грузит его в нужной кодировке. Можно насильно перечитать в другой кодировке, сменить и сохранить в другой кодировке. Notepad++ тоже не плох, но иногда врёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 09:40 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
DomenER1)iconv: FORM.txt: cannot convert 2) перечислены 3) в Far просматриваю txt файл в кодировке Utf-8 (выборка кодовой страницы Shift+F8) и текст отображается на русском. iconv похоже не поддерживает BOM в начале. Удали первые три байта(я╗┐). Более простое решение - открой файл в ворде, он предложит импортировать как юникод. Потом сделай файл-сохранить как. Выбери txt. Ворд предложит на выбор кодировки. Выбирай MS-DOS [второй (*)radio button вверху слева] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2011, 10:59 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
-Ассемблер, наверняка будет большего размера. -это мощь namespace System.Text. там есть возможность c BOM/без, перехватывать ситуацию неправильной кодировки. -программа не передназначена для 'корректно "разбирается" с кодировками' но используя возможности System.Text и это можно сделать, вот исходник Код: plaintext 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. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 15:49 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
mccc-Ассемблер, наверняка будет большего размера. -это мощь namespace System.Text... Спасибо за исходник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2011, 17:10 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо. iConv прекрасно работает. За исходник программы тоже спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2011, 10:41 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
DomenERВсем огромное спасибо. iConv прекрасно работает. За исходник программы тоже спасибо.Таки в какой кодировке был самый первый файл, с которого начинался весь "балет"? Уже просто спортивный интерес :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2011, 14:54 |
|
||
|
Консольная программя для изменения кодовой страницы
|
|||
|---|---|---|---|
|
#18+
-)DomenERВсем огромное спасибо. iConv прекрасно работает. За исходник программы тоже спасибо.Таки в какой кодировке был самый первый файл, с которого начинался весь "балет"? Уже просто спортивный интерес :-) Я потом с другим текстом стал работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2011, 14:17 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37110602&tid=1343140]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
207ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 564ms |

| 0 / 0 |
