сценарий, чтобы сохранить файл как unicode

Как правило, Entity Framework будет лучшим решением для этого. Ниже приведена ссылка на поддерживаемые базы данных, использующие Entity Framework Entity Framework Database Supported . Однако, если вы хотите подключиться к другим базам данных, вам нужно будет выполнить свои собственные операции CRUD (Создать, Получить, Обновить, Удалить). Вот пример CRUD с использованием MongoDB.

6
задан river0 9 February 2009 в 12:45
поделиться

6 ответов

Можно использовать iconv. В Windows можно использовать его под Cygwin.

iconv -f from_encoding -t to_encoding file
-1
ответ дан 8 December 2019 в 18:42
поделиться

Это могло работать на Вас, но заметить, что захватит каждый файл в текущей папке:


Get-ChildItem | Foreach-Object { $c = (Get-Content $_); `
Set-Content -Encoding UTF8 $c -Path ($_.name + "u") }

То же самое с помощью псевдонимов для краткости:


gci | %{ $c = (gc $_); sc -Encoding UTF8 $c -Path ($_.name + "u") }

Steven Murawski предлагает использовать Out-File вместо этого. Различия между обоими cmdlets следующие:

  • Out-File попытается отформатировать вход, который это получает.
  • Out-Fileкодировка по умолчанию основана на Unicode, тогда как Set-Content использует значение по умолчанию системы.

Вот пример, принимающий файл test.txt не существует ни в одном случае:


PS> [system.string] | Out-File test.txt
PS> Get-Content test.txt

IsPublic IsSerial Name                                     BaseType          
-------- -------- ----                                     --------          
True     True     String                                   System.Object     

# test.txt encoding is Unicode-based with BOM


PS> [system.string] | Set-Content test.txt
PS> Get-Content test.txt

System.String

# test.txt encoding is "ANSI" (Windows character set)

На самом деле, если Вам не нужно никакое определенное кодирование Unicode, Вы могли бы также сделать следующее для преобразования текстового файла в Unicode:


PS> Get-Content sourceASCII.txt > targetUnicode.txt

Out-File "оператор перенаправления с дополнительными параметрами", своего рода.

11
ответ дан 8 December 2019 в 18:42
поделиться

Самым легким путем было бы Получать-содержание 'путь/к/текст/файл' |-файл 'имя//файл'.

-Файл имеет - кодирование параметра, значение по умолчанию которого является Unicode.

Если бы Вы хотели написать сценарий пакета их, то Вы могли бы сделать что-то как

$files = get-childitem 'directory/of/text/files' 
foreach ($file in $files) 
{
  get-content $file | out-file $file.fullname
}
4
ответ дан 8 December 2019 в 18:42
поделиться

Используйте Систему. IO.StreamReader (Для чтения содержания файла) класс вместе с Системой. Текст. Кодирование. Кодирование (Для создания объекта Кодера, который делает кодирование), базовый класс.

0
ответ дан 8 December 2019 в 18:42
поделиться

Вы могли создать новый текстовый файл и записать байты из исходного файла в новый, поместив '\0' перед каждым исходным байтом (предполагающий, что файл оригинального текста был на английском языке).

0
ответ дан 8 December 2019 в 18:42
поделиться

псевдо код...

Тусклая система, файл, содержание, newFile, oldFile

Константа ForReading = 1, ForWriting = 2, ForAppending = 3 константы AnsiFile =-2, UnicodeFile =-1

Система набора = CreateObject ("Сценарии. FileSystemObject...

Файл набора = система. GetFile ("text1.txt")

Набор oldFile = файл. OpenAsTextStream (ForReading, AnsiFile)

содержание = oldFile. ReadAll ()

oldFile. Близко

система. CreateTextFile "text1.txt"

Файл набора = система. GetFile ("text1.txt")

Набор newFile = файл. OpenAsTextStream (ForWriting, UnicodeFile)

newFile. Запишите содержание

newFile. Близко

Надеюсь, что этот подход будет работать..

-1
ответ дан 8 December 2019 в 18:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: