Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Изменение кодировки кириллицы (http://forum.oszone.net/showthread.php?t=332795)

Akhmad 26-01-2018 12:51 2793905

Изменение кодировки кириллицы
 
Здравствуйте!
https://github.com/3komma14/Guard/bl...FileString.ps1

Использовал этот скрипт, чтобы изменить адрес сервера, без изменения учетных записей пользователей в текстовом файле. Как назло, учетки прописаны кириллицей (на русском). И после работы скрипта текст появляется в виде вопросительных знаков. Менял кодировки, результата никакого - или крякозябры, или вопросительные знаки

Заранее спасибо

Kazun 26-01-2018 13:04 2793908

Кодировка файла до и после изменения должна быть одна.

Код:

Replace-FileString.ps1 "Тест" "Прошел" tree.txt -Overwrite -Encoding UTF8
* Файл tree.txt сохранен в кодировке UTF8, после изменения кодировка должна сохраняться, указываю UTF8

Akhmad 26-01-2018 13:39 2793916

Вложений: 1
Как я понял, в исходном файле Win1251. Значит ли это, что надо перевести сначала в utf8, а после проведенных изменений вернуть в Win1251? Правильным будет, наверное, вложить и сам файлик

Kazun 26-01-2018 13:53 2793923

Можно и так, но проще изменить две строчки в скрипте:

Код:

$encodings = @("ASCII","BigEndianUnicode","Unicode","UTF32","UTF7",
                "UTF8","Default")

Код:

$text = [IO.File]::ReadAllText($file.FullName,[Text.Encoding]::$Encoding)
Код:

Replace-FileString.ps1 "Гость" "Тест" Profiles.txt -Overwrite -Encoding Default

Akhmad 30-01-2018 07:10 2794485

Kazun, спасибо большое, все получилось. Но, видимо придется отказаться от этой затеи. Дело в том, что в зависимости от компьютера меняется папка профиля пользователя. Думал использовать $Home, но скрипту нужна именно C$. В общем, тут то я и сдался )) Еще раз спасибо за помощь


Время: 23:46.

Время: 23:46.
© OSzone.net 2001-