Войти

Показать полную графическую версию : [решено] Кодировка.


andri190
29-09-2015, 09:49
Сам код рабочий,всё импортирует и экспортирует,но вот проблема со знаками в экспортируемом файле.
В нём заместо символов знаки "?".Как я понимаю это проблема с кодировкой?
$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
Сохранить F:\Практика\user.csv в UTF8 - открыть в notepad - Сохранить как - Кодировка UTF-8.

http://pro-infobusiness.ru/wp-content/uploads/2013/07/utf_8.jpg
https://pp.vk.me/c623931/v623931530/2e548/4kE8Ok2roQo.jpg

andri190
29-09-2015, 10:38
Сохранить F:\Практика\user.csv в UTF8 - открыть в notepad - Сохранить как - Кодировка UTF-8. »
Не помогло всё равно знаки вопроса.

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

andri190
29-09-2015, 11:40
andri190, а без «Export-csv» — что выводится (на консоль/в среду разработки)? »
Вот это

Foreigner
29-09-2015, 16:58
andri190, Попробуйте через out-file:

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

andri190
30-09-2015, 07:25
andri190, Попробуйте через out-file:
Код:
convertto-csv $UserList2 -notypeinfo | out-file $CSVfileNew -encoding нужная_кодировка (default, utf8, »
Выдаёт это.

Foreigner
30-09-2015, 18:13
andri190, Покажите, что в $Userlist2

Iska
30-09-2015, 18:22
andri190, Покажите, что в $Userlist2 »
Вот это »

andri190
01-10-2015, 08:24
Решил проблему вот так:создал по новой код,файл "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




© OSzone.net 2001-2012