Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcje konsoli 8-bitowej używają strony kodowej OEM. Wszystkie inne funkcje domyślnie używają strony kodowej ANSI. Oznacza to, że ciągi zwracane przez funkcje konsoli mogą nie być prawidłowo przetwarzane przez inne funkcje i odwrotnie. Jeśli na przykład funkcja FindFirstFileA zwróci ciąg zawierający pewne rozszerzone znaki ANSI, funkcja WriteConsoleA nie wyświetli poprawnie ciągu.
Najlepszym długoterminowym rozwiązaniem dla aplikacji konsolowej jest użycie formatu Unicode. Konsola będzie akceptować kodowanie UTF-16 w wariantie W interfejsów API lub kodowania UTF-8 w wariantie interfejsów API po użyciu polecenia SetConsoleCP i SetConsoleOutputCP do 65001 (CP_UTF8 stała) dla strony kodowej UTF-8.
Jeśli to rozwiązanie zostanie wykluczona, aplikacja konsolowa powinna używać funkcji SetFileApisToOEM . Ta funkcja zmienia odpowiednie funkcje plików, tak aby tworzyły ciągi zestawu znaków OEM, a nie ciągi zestawu znaków ANSI.
Poniżej przedstawiono funkcje plików:
CopyFile
CreateDirectory
CreateFile
CreateProcess
Usuń plik
FindFirstFile
FindNextFile
GetCurrentDirectory
GetDiskFreeSpace
GetDriveType
Podczas pracy z wierszami poleceń aplikacja konsolowa powinna uzyskać wiersz polecenia w formularzu Unicode i przekonwertować go na formularz OEM przy użyciu odpowiednich funkcji znak-OEM. Należy również pamiętać, że argv używa zestawu znaków ANSI.