Компьютерный форум 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=306002)

andri190 29-09-2015 09:49 2558793

Кодировка.
 
Сам код рабочий,всё импортирует и экспортирует,но вот проблема со знаками в экспортируемом файле.
В нём заместо символов знаки "?".Как я понимаю это проблема с кодировкой?
Код:

$CSVfileOld="F:\Практика\user.csv"#переменная
$CSVfileNew="F:\Практика\NEWuser.csv"#переменная
 
Import-Module ActiveDirectory;#подключаем модуль Active Directory
 
$UserList = Import-Csv $CSVfileOld  #Импортируем в $UserList csv файл $CSVfileOld
 
$UserList2 = $UserList |Foreach{$U=$_ ; $_.FIO.Tostring() }|Foreach{$UDN=Get-ADUser -Filter {name -eq $_}; ADD-Member -InputObject $U -MemberType NoteProperty -Name DN -Value $UDN;$U}
$UserList2 | Export-csv  $CSVfileNew

Пробовал через
Цитата:

-Encoding UTF8
в импорте и экспорте,но не работает.

Kazun 29-09-2015 09:51 2558797

Сохранить F:\Практика\user.csv в UTF8 - открыть в notepad - Сохранить как - Кодировка UTF-8.



andri190 29-09-2015 10:38 2558816

Вложений: 1
Цитата:

Цитата Kazun
Сохранить F:\Практика\user.csv в UTF8 - открыть в notepad - Сохранить как - Кодировка UTF-8. »

Не помогло всё равно знаки вопроса.

Iska 29-09-2015 11:31 2558843

andri190, а без «Export-csv» — что выводится (на консоль/в среду разработки)?

andri190 29-09-2015 11:40 2558849

Вложений: 1
Цитата:

Цитата Iska
andri190, а без «Export-csv» — что выводится (на консоль/в среду разработки)? »

Вот это

Foreigner 29-09-2015 16:58 2559017

andri190, Попробуйте через out-file:
Код:

convertto-csv $UserList2 -notypeinfo | out-file  $CSVfileNew -encoding нужная_кодировка (default, utf8, oem)

andri190 30-09-2015 07:25 2559227

Вложений: 1
Цитата:

Цитата Foreigner
andri190, Попробуйте через out-file:
Код:
convertto-csv $UserList2 -notypeinfo | out-file $CSVfileNew -encoding нужная_кодировка (default, utf8, »

Выдаёт это.

Foreigner 30-09-2015 18:13 2559426

andri190, Покажите, что в $Userlist2

Iska 30-09-2015 18:22 2559432

Цитата:

Цитата Foreigner
andri190, Покажите, что в $Userlist2 »

Цитата:

Цитата andri190
Вот это »


andri190 01-10-2015 08:24 2559580

Решил проблему вот так:создал по новой код,файл "user",потом добавил -encoding utf8 и всё заработало.
Код:

$CSVfileOld="F:\Практика\user.csv"  #переменная
$CSVfileNew="F:\Практика\NEWuser.csv"#переменная
 
Import-Module ActiveDirectory;#подключаем модуль Active Directory
 
$UserList = Import-Csv $CSVfileOld  #Импортируем в $UserList csv файл $CSVfileOld
 
$UserList2 = $UserList |Foreach{$U=$_ ; $_.FIO.Tostring() }|Foreach{$UDN=Get-ADUser -Filter {name -eq $_}; ADD-Member -InputObject $U -MemberType NoteProperty -Name DN -Value $UDN;$U}
$UserList2 |Export-csv -encoding utf8  $CSVfileNew



Время: 00:10.

Время: 00:10.
© OSzone.net 2001-