Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменение кодировки кириллицы

Ответить
Настройки темы
PowerShell - [решено] Изменение кодировки кириллицы

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!
https://github.com/3komma14/Guard/bl...FileString.ps1

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

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

Отправлено: 12:51, 26-01-2018

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


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

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

Отправлено: 13:04, 26-01-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: txt Profiles.txt
(356 байт, 4 просмотров)

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

Отправлено: 13:39, 26-01-2018 | #3


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


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

Код: Выделить весь код
$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
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:53, 26-01-2018 | #4


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 07:10, 30-01-2018 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменение кодировки кириллицы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Debian/Ubuntu - построковое чтение, изменение кодировки ikar78 Общий по Linux 0 21-11-2012 00:31
CMD/BAT - [решено] Изменение кодировки txt файла из ANSI в UTF-16 LE crashtuak Скриптовые языки администрирования Windows 11 20-08-2009 11:57
[решено] изменение кодировки файла через командную строку vagner_HATE Microsoft Windows 2000/XP 3 06-12-2006 20:34
Отображение кириллицы Krezzy Общий по Linux 8 10-03-2005 13:07
Кодировка кириллицы в проге Igrr Microsoft Windows 2000/XP 6 11-04-2004 00:26




 
Переход