Кодировка .htm файлов

Tunsuyoki

Пляшущий с бубном
Участник
Сообщения
95
Розыгрыши
0
Репутация
3
Реакции
15
Баллы
210
Всём доброго дня, ребят, посоветуйте как можно массово htmки перекодировать из utf 8 в utf 16 LE? Сервер видит их только в данном формате, перерыл кучу конвертеров, но не в одном данного формата нет, а через notepad++ массово конвертацию файлов сделать нельзя.
 

Вероятно готового нет, тут выход один, писать скрипт для массовой перекодировки файлов.
 
...
Go to Notepad++ -> Plugins -> Plugins Admin.

Find and install Python Script plugin.

Create new python script with Plugins -> Python Script -> New script.

Insert this code into your script:

import os;
import sys;
filePathSrc="C:\\Users\\YourUsername\\Desktop\\txtFolder"
for root, dirs, files in os.walk(filePathSrc):
for fn in files:
if fn[-4:] == '.txt' or fn[-4:] == '.csv':
notepad.open(root + "\\" + fn)
console.write(root + "\\" + fn + "\r\n")
notepad.runMenuCommand("Encoding", "Convert to UTF-8")
notepad.save()
notepad.close()

Replace C:\\Users\\YourUsername\\Desktop\\txtFolder with path to your Windows folder where your files are.

Script works with .txt and .csv files and ignores all other files in folder.

Run script with Plugins -> Python Scripts -> Scripts -> name of your script

Естественно немного провести коррекцию скрипта, прописать пути, изменить расширение, и изменить пункт меню кодировки
 
я такие вещи обычно vbs скриптом делал, он умеет конвертировать всё во всё, а сама логика упирается в цикл по папке
 
если у кого-то есть готовый скрипт для смены кодировки не могли бы помочь с перекодировкой файлов? естественно не за бесплатно.
 
если у кого-то есть готовый скрипт для смены кодировки не могли бы помочь с перекодировкой файлов? естественно не за бесплатно.
файлы скидывай, которым сменить кодировку
 
  • Мне нравится
Реакции: Tunsuyoki

    Tunsuyoki

    Баллов: 2
    Спасибо большое за помощь.
...
Go to Notepad++ -> Plugins -> Plugins Admin.

Find and install Python Script plugin.

Create new python script with Plugins -> Python Script -> New script.

Insert this code into your script:

import os;
import sys;
filePathSrc="C:\\Users\\YourUsername\\Desktop\\txtFolder"
for root, dirs, files in os.walk(filePathSrc):
for fn in files:
if fn[-4:] == '.txt' or fn[-4:] == '.csv':
notepad.open(root + "\\" + fn)
console.write(root + "\\" + fn + "\r\n")
notepad.runMenuCommand("Encoding", "Convert to UTF-8")
notepad.save()
notepad.close()

Replace C:\\Users\\YourUsername\\Desktop\\txtFolder with path to your Windows folder where your files are.

Script works with .txt and .csv files and ignores all other files in folder.

Run script with Plugins -> Python Scripts -> Scripts -> name of your script

Естественно немного провести коррекцию скрипта, прописать пути, изменить расширение, и изменить пункт меню кодировки
Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)]
Initialisation took 500ms
Ready.
File "C:\Users\admin\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts\encoder.py", line 5
for fn in files:
^
IndentationError: expected an indented block
 
Дополню, все можно сделать одной строчкой через powershell перейдя в папку с .htm через cd c:/test/ и выполнить далее.

Get-ChildItem -Filter *.htm | ForEach { (Get-Content $_.FullName -Encoding UTF8) | Out-File $_.FullName -Encoding Unicode -Force }
 
у емка екст хф / год длл, сорсы которого в шаре, есть код позволяющий серверу читать utf-8 / ansi 1251 скрипт и длл файлы
если портнуть в свою длл можно забыть о перекодировках
 
Назад
Сверху Снизу