Hi,
if you are working with special characters (i.e. German Umlaute) within a Textfile it is importent to know with which text encoding (UTF8, ASCII…) a file is saved.
This cannot be be determine when a file is opened in Textmode because each file is converted (.NET) to UTF16 encoding into memory.
The solution is to open the file as stream, and read it. Here a powershell solution:
PS D:\> $oFileStream=New-Object System.IO.StreamReader("D:\myTextFile.ps1",$true)
PS D:\> $oFileStream.Read()
PS D:\> $oFileStream.CurrentEncoding
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsBrowserDisplay : True
IsBrowserSave : True
IsMailNewsDisplay : True
IsMailNewsSave : True
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001
PS D:\> $oFileStream.Close()
Michael