- Symulator MaSzyna -

Symulator EU07 (i nie tylko) => Bieżące Symulatorowe => Wątek zaczęty przez: Hubertnator23 w 02 Czerwca 2020, 11:17:16

Tytuł: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Hubertnator23 w 02 Czerwca 2020, 11:17:16
Zastanawiałem się ostatnio czy nie lepiej wszystkie pliki mieć zakodowane w UTF-8. Wtedy ogonki będą wyświetlać się poprawnie prawie na każdym systemie. A w ogóle dlaczego akurat wybrano ANSI na kodowanie plików symulatora? Jakie są wady użycia UTF-8 jako kodowania plików?
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: jakubg1 w 02 Czerwca 2020, 11:20:44
Tu chodzi o to, że niektóre programy (np. Rainsted, czy też bardzo pomocne narzędzia Mariusza) nie za bardzo chcą współpracować z UTF-8 z powodu braku kompatybilności i błędów.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Hubertnator23 w 02 Czerwca 2020, 11:36:44
Hmm. Są napisane w jakim języku? W C++ za pomocą fstream nie powinno być błędów, nie wiem jak sprawa wygląda z C, ale nie wydaję mi się żeby były problemy.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: jakubg1 w 02 Czerwca 2020, 11:56:39
Mariusz używa Excela z 1998 roku i skryptów Visual Basic.

Jeżeli ktoś napisze godne zamienniki, nie ma problemu żeby podmienić.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: matek123 w 02 Czerwca 2020, 12:01:25
Nikomu się nie śpieszy raczej, więc zostaniemy raczej na ansi który jest kompatybilny z narzędziami Mariusza.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Hubertnator23 w 02 Czerwca 2020, 12:27:53
Jeżeli ktoś napisze godne zamienniki, nie ma problemu żeby podmienić.

W Visual Basic chyba da się otworzyć plik w UTF-8. Jeżeli nie to można by przepisać na Visual C++ albo C#? Albo Python?

Czy Mariuszowe narzędzia to jedyny problem? Z Rainsteda powoli rezygnujemy, na rzecz nowego startera. Jedyne do czego używam Rainsteda to edytor scenerii.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: jakubg1 w 02 Czerwca 2020, 12:37:05
Jeżeli nie to można by przepisać na Visual C++ albo C#? Albo Python?

No właśnie o to się rozchodzi że zajęłoby to bardzo dużo pracy.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Hubertnator23 w 02 Czerwca 2020, 12:44:38
Ale z tego co widzę to chyba da się otworzyć plik w UTF-8 w Visual Basic:
https://docs.microsoft.com/en-us/dotnet/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-from-text-files

"The file encoding can be specified if the contents of the file use an encoding such as ASCII or UTF-8. [...] The following example reads the contents of the UTF32 file test.txt into a string and then displays it in a message box."

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
   System.Text.Encoding.UTF32)
MsgBox(fileReader)

Dla tych którzy nie znają angielskiego: "Kodowanie pliku może być określone jeżeli plik jest kodowany na przykład w ASCII albo UTF-8 [...] Ten przykład pokazuje odczyt pliku test.txt kodowanego w UTF32 do stringa, a później wyświetla go w okienku"
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Milek7 w 02 Czerwca 2020, 12:45:24
Czy Mariuszowe narzędzia to jedyny problem?
Tak. No chyba że jakieś skrypty inne do importu się posypią, nie wiem.
Na rainsteda mam przygotowane obejście.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: jakubg1 w 02 Czerwca 2020, 12:47:14
Ale z tego co widzę to chyba da się otworzyć plik w UTF-8 w Visual Basic:
https://docs.microsoft.com/en-us/dotnet/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-from-text-files

"The file encoding can be specified if the contents of the file use an encoding such as ASCII or UTF-8. [...] The following example reads the contents of the UTF32 file test.txt into a string and then displays it in a message box."

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
   System.Text.Encoding.UTF32)
MsgBox(fileReader)

Dla tych którzy nie znają angielskiego: "Kodowanie pliku może być określone jeżeli plik jest kodowany na przykład w ASCII albo UTF-8 [...] Ten przykład pokazuje odczyt pliku test.txt kodowanego w UTF32 do stringa, a później wyświetla go w okienku"

Przypominam, że mowa o Excelu w bardzo starej wersji. Nie wiem, kiedy wsparcie UTF-8 do Excela weszło.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Milek7 w 02 Czerwca 2020, 12:48:21
Ale z tego co widzę to chyba da się otworzyć plik w UTF-8 w Visual Basic:
Skrypty nie są w Visual Basic .NET, tylko w excelowym VBA. Pewnie się da napisać tak żeby działało z UTF8, tylko znajdź kogoś komu się chce grzebać w tym kodzie :P
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Hubertnator23 w 02 Czerwca 2020, 12:56:30
No ja mogę :P. Tyle że z VBA nie miałem zbyt wielkiej styczności. Programy piszę w C++ albo Pythonie. Trochę bym musiał się nauczyć VBA, ale wygląda podobnie do C++/C#, więc jakieś 3-4 godzinki i będę miał go w jakimś stopniu opanowany.

W każdym bądź razie znalazłem też to:
https://stackoverflow.com/questions/13851473/read-utf-8-text-file-in-vbscript

"Anyway, if you can use ADO (https://docs.microsoft.com/en-us/sql/ado/guide/appendixes/vbscript-ado-programming?redirectedfrom=MSDN&view=sql-server-ver15), you can do this:"

Dim objStream, strData

Set objStream = CreateObject("ADODB.Stream")

objStream.CharSet = "utf-8"
objStream.Open
objStream.LoadFromFile("C:\Users\admin\Desktop\ArtistCG\folder.txt")

strData = objStream.ReadText()

objStream.Close
Set objStream = Nothing
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: jakubg1 w 02 Czerwca 2020, 13:05:29
Tylko spytaj się Mariusza o zgodę, bo wciąż pisze skrypty i fakt, że ktoś będzie w nich grzebał może mu się nie spodobać.
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: JAN21 w 02 Czerwca 2020, 13:06:04
Cytuj
Z Rainsteda powoli rezygnujemy, na rzecz nowego startera. Jedyne do czego używam Rainsteda to edytor scenerii.
Kto rezygnuje, ten rezygnuje, jak się człowiek przyzwyczai to nie tak łatwo się przesiąść. Nie zapominajmy również, że Rainsted to jest aktualnie JEDYNY sensowny edytor, a szansa na dogadanie się z Ra, żeby przerobił kodowanie jest bardzo mała. Jeżeli istnieje sposób, żeby to obejść i są chętni do przepisania skryptów to można próbować, jeżeli nie to bym nie ruszał skoro działa :P 
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Hubertnator23 w 02 Czerwca 2020, 13:11:41
Na rainsteda mam przygotowane obejście.


Odchodząc od tematu Rainsteda - napiszę do Mariusza na PW, czy mógłby zmodyfikować skrypty (wsparcie dla UTF-8).
Tytuł: Odp: Czy nie lepiej zamienić ANSI na UTF-8?
Wiadomość wysłana przez: Mariusz1970 w 02 Czerwca 2020, 14:14:54
Ja juz pisalem, nie widze problemu przejscia na UTF. Moimi rzeczami, nie ma sie co przejmowac. One i tak w coraz mniejszym stopniu sa zgodne z obecnymi rzeczami w maszynie. Jesli ktos bedzie chcial z czegos tam z nich skorzystac, to najwyzej dokona konwresji plikow. Ja przerabial niczego nie bede i raczej odradzam to innym. Nie chce mi sie zbyt mocno rozpisywac dlaczego. Odczyt danych z plikow, jest realizowany inaczej, niz w przykladzie wyzej. Rozkminialem net pod tym wzgeldem, jakies przyklady, dosyc zlozone. Niebardzo z mojego punktu widzenia, widze sens dzialania w tym kierunku. Nie wiem jak Wy, ale ja rowniez pracuje, oraz rodzina. Maszyna, to jedynie hobby. Dodatkowo juz duzo rzeczy jest w logach, ktorych kiedys nie bylo. Wciaz, sa rzeczy, ktore nie da sie logowac, zwlaszcza scenerie, jednak i tak nikogo one nie ineresuja lub nie sa swiadomi.
Reasumujac, ODE MNIE S2 dla UTF, bo juz nie mam zamiaru ewentualnie sie powtarzac.