Klasyczny ASP, kontekst VBScript.FileSystemObject - Odczytywanie plików Unicode
Wiele artykułów, w tym this Microsoft one, oznacza, że nie może używać FileSystemObject do odczytywania plików Unicode.
I napotkał ten problem jakiś czas temu, więc włączony do korzystania ADODB.Stream zamian za przykład READTEXT here, zamiast korzystania FileSystemObject.OpenTextFile (który ma przyjąć ostateczną parametr wskazujący, czy otworzyć plik jako Unicode, ale w rzeczywistości nie robi nie działa).
Jednak ADODB.Stream powoduje ból podczas próby odczytu pliku w ramach udostępniania plików UNC (problem związany z uprawnieniami). Tak więc, badając to, natknąłem się na następujące podejście który pracuje a) z plikami Unicode, oraz b) w poprzek UNC udostępniane pliki:
dim fso, file, stream
set fso = Server.CreateObject("Scripting.FileSystemObject")
set file = fso.GetFile("\\SomeServer\Somefile.txt")
set stream = file.OpenAsTextStream(ForReading,-1) '-1 = unicode
ten korzysta z FSO odczytać plik Unicode bez widocznego problemu, więc jest mylony co do wszystkich odniesień, w tym stwardnienia rozsianego, mówiąc, że nie możesz używać FSO do odczytywania plików Unicode.
Czy ktoś inny użył tego podejścia do odczytu plików Unicode? Czy są jakieś ukryte błędy, których mi brakuje, czy naprawdę potrafisz czytać pliki Unicode za pomocą FSO?
Dzięki.W tym przypadku pliki odczytane jako "Unicode" są wszystkie tworzone przez podobny kod, który używa FSO.OpenTextFile (z TriStateTrue dla "Unicode"), aby otworzyć plik do zapisu do niego, więc powinno być bezpieczne trzymanie się FSO, aby je odczytać wszystko. ADODB.Stream powoduje wszelkiego rodzaju hoo-haa podczas próby odczytania z udostępniania plików na innym komputerze, dlatego od tego się oddalam. – AdaTheDev