powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как задать кодировку, создавая текстовый файл?
11 сообщений из 11, страница 1 из 1
Как задать кодировку, создавая текстовый файл?
    #40138886
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Попробую-ка я немножко оживить форум. Вопрос поместился в сабже. Как я понимаю, обычный способ создания текстовых файлов через Open + Print вообще не поддерживает задание кодировки, а способ через FileSystemObject поддерживает выбор одной кодировки из трех. Мне нужно создать файл в определенной кодировке.
...
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40138896
Фотография RePredeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч  16.10.2024, 10:38
[игнорируется]
Open + Print
Когда мне потребовался файл с содержимым в UTF8, я предварительно конвертировал строку в UTF8, и Print уже ее.
Никаких кодировок самому файлу не задавал.

Зы: Панург выкладывал модуль кодирования/декодирования.
...
And God I know I'm one
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40138901
чебуран
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на C# можно написать пятистрочник, который файл перекодирует
или на питоне
...
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40138906
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
RePredeclared  16.10.2024, 16:45
[игнорируется]
Владимир Саныч  16.10.2024, 10:38
[игнорируется]
Open + Print
Когда мне потребовался файл с содержимым в UTF8, я предварительно конвертировал строку в UTF8, и Print уже ее.
Никаких кодировок самому файлу не задавал.

Зы: Панург выкладывал модуль кодирования/декодирования.
На данный момент UTF8 - это единственное, что у меня получается. А остальное?
...
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40138911
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
чебуран  16.10.2024, 18:27
[игнорируется]
на C# можно написать пятистрочник, который файл перекодирует
или на питоне
Для этого надо изучать и инсталлировать еще что-то, кроме Аксесса...
...
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40138981
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч [игнорируется] 

Есть вот такая vbs у меня, запускаю каждую ночь, для utf-8 наших сайтостроителей офис весь 2019:
Код: VBScript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim xlApp
Dim xlDoc
Dim Folder
Proc
sub Proc()
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Folder = "Z:\Obmen"
   if  FSO.FolderExists(Folder) then FSO.DeleteFile("Z:\Obmen\nazvanie.csv")
   Set xlApp = CreateObject("Excel.Application")
   Set xlDoc = xlApp.Workbooks.Open("Z:\Obmen\nazvanie.xlsx")
   xlApp.Visible = false
   xlDoc.SaveAs "Z:\Obmen\nazvanie.csv", 62
   xlDoc.Close
   xlApp.Quit
   set xlDoc = nothing
   set xlApp = nothing
End Sub
...
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40138986
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
alvk  01.11.2024, 04:54
[игнорируется]
Владимир Саныч [игнорируется] 

Есть вот такая vbs у меня, запускаю каждую ночь, для utf-8 наших сайтостроителей офис весь 2019:
Код: VBScript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim xlApp
Dim xlDoc
Dim Folder
Proc
sub Proc()
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Folder = "Z:\Obmen"
   if  FSO.FolderExists(Folder) then FSO.DeleteFile("Z:\Obmen\nazvanie.csv")
   Set xlApp = CreateObject("Excel.Application")
   Set xlDoc = xlApp.Workbooks.Open("Z:\Obmen\nazvanie.xlsx")
   xlApp.Visible = false
   xlDoc.SaveAs "Z:\Obmen\nazvanie.csv", 62
   xlDoc.Close
   xlApp.Quit
   set xlDoc = nothing
   set xlApp = nothing
End Sub
А если не csv?
...
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40138996
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч [игнорируется] 

ADODB.Stream умеет задавать кодировки
...
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40139001
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Панург  02.11.2024, 05:58
[игнорируется]
Владимир Саныч [игнорируется] 

ADODB.Stream умеет задавать кодировки
Большое спасибо, это дает надежду. Только у меня ничего не получилось. Я верю, что в памяти образуется текст в нужной кодировке, однако в момент записи в файл (то, что мне нужно), кажется, кодировка теряется. По крайней мере при попытке открыть полученный файл в Notepad++ я вижу не ту кодировку, которую задал (задал Windows-1251, получил UTF-16 LE BOM). Вот мой код:
Код: VBA
1.
2.
3.
4.
5.
6.
7.
8.
9.
        Dim o As ADODB.Stream
        Set o = New ADODB.Stream
        o.Open
        o.WriteText (моя переменная)
        o.Position = 0
        o.Charset = "Windows-1251"
        o.SaveToFile (мой файл), adSaveCreateOverWrite
        o.Close
        Set o = Nothing
...
Изменено: 02.11.2024, 19:00 - Владимир Саныч
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40139006
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч [игнорируется] 
как-то так (может без чего-то можно и обойтись)...
Код: VBA
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    With New ADODB.Stream
        .Charset = "cp866" '"Windows-1251" '"UTF-16" '"UTF-8" '
        .Type = adTypeText
        .Mode = adModeReadWrite
        .LineSeparator = adCRLF
        .Open
        .WriteText "Тут какой-то не длинный текст", adWriteLine
        .WriteText "Тут ещё какой-то не длинный текст"
        .SaveToFile CurrentProject.Path & "\Test.txt", adSaveCreateOverWrite
        .Close
    End With
ЗЫ. Сначала задаём свойства, потом пишем и сохраняем
...
Изменено: 02.11.2024, 19:25 - Панург
Рейтинг: 0 / 0
Как задать кодировку, создавая текстовый файл?
    #40139016
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Панург [игнорируется] 

Нижайший поклон. Оно работает!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как задать кодировку, создавая текстовый файл?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]