Autor Wątek:  Czy nie lepiej zamienić ANSI na UTF-8?  (Przeczytany 4111 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Hubertnator23

  • Deweloper
  • Wiadomości: 661
  • Specjalista ds. kiszenia nieukończonych dodatków
    • Zobacz profil
  • Otrzymane polubienia: 416
Czy nie lepiej zamienić ANSI na UTF-8?
« dnia: 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?

Offline jakubg1

  • Wydział Repozytorium
  • Wiadomości: 1492
  • MaSzyna ma szynę, szyna ma MaSzynę - na kołach.
    • Zobacz profil
  • Otrzymane polubienia: 1118
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #1 dnia: 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.
10 lat na forum MaSzyny!

Offline Hubertnator23

  • Deweloper
  • Wiadomości: 661
  • Specjalista ds. kiszenia nieukończonych dodatków
    • Zobacz profil
  • Otrzymane polubienia: 416
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #2 dnia: 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.

Offline jakubg1

  • Wydział Repozytorium
  • Wiadomości: 1492
  • MaSzyna ma szynę, szyna ma MaSzynę - na kołach.
    • Zobacz profil
  • Otrzymane polubienia: 1118
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #3 dnia: 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ć.
10 lat na forum MaSzyny!

Offline matek123

  • Moderator
  • Wiadomości: 6056
    • Zobacz profil
  • Otrzymane polubienia: 2043
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #4 dnia: 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.
Poszukuję zdjęć na tekstury pociągów sieciowych. Szczególnie platform z pomostami.

Offline Hubertnator23

  • Deweloper
  • Wiadomości: 661
  • Specjalista ds. kiszenia nieukończonych dodatków
    • Zobacz profil
  • Otrzymane polubienia: 416
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #5 dnia: 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.

Offline jakubg1

  • Wydział Repozytorium
  • Wiadomości: 1492
  • MaSzyna ma szynę, szyna ma MaSzynę - na kołach.
    • Zobacz profil
  • Otrzymane polubienia: 1118
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #6 dnia: 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.
10 lat na forum MaSzyny!

Offline Hubertnator23

  • Deweloper
  • Wiadomości: 661
  • Specjalista ds. kiszenia nieukończonych dodatków
    • Zobacz profil
  • Otrzymane polubienia: 416
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #7 dnia: 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"

Offline Milek7

  • Administrator
  • Wiadomości: 1047
    • Zobacz profil
  • Otrzymane polubienia: 902
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #8 dnia: 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.

Offline jakubg1

  • Wydział Repozytorium
  • Wiadomości: 1492
  • MaSzyna ma szynę, szyna ma MaSzynę - na kołach.
    • Zobacz profil
  • Otrzymane polubienia: 1118
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #9 dnia: 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.
10 lat na forum MaSzyny!

Offline Milek7

  • Administrator
  • Wiadomości: 1047
    • Zobacz profil
  • Otrzymane polubienia: 902
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #10 dnia: 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
« Ostatnia zmiana: 02 Czerwca 2020, 12:50:04 wysłana przez Milek7 »

Offline Hubertnator23

  • Deweloper
  • Wiadomości: 661
  • Specjalista ds. kiszenia nieukończonych dodatków
    • Zobacz profil
  • Otrzymane polubienia: 416
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #11 dnia: 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, 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

Offline jakubg1

  • Wydział Repozytorium
  • Wiadomości: 1492
  • MaSzyna ma szynę, szyna ma MaSzynę - na kołach.
    • Zobacz profil
  • Otrzymane polubienia: 1118
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #12 dnia: 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ć.
10 lat na forum MaSzyny!

Offline JAN21

  • Deweloper
  • Wiadomości: 486
  • Tory se robie se
    • Zobacz profil
  • Otrzymane polubienia: 1421
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #13 dnia: 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 
Dobrowolne wsparcie: Tipply

Offline Hubertnator23

  • Deweloper
  • Wiadomości: 661
  • Specjalista ds. kiszenia nieukończonych dodatków
    • Zobacz profil
  • Otrzymane polubienia: 416
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #14 dnia: 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).
« Ostatnia zmiana: 02 Czerwca 2020, 13:13:26 wysłana przez Hubertnator23 »

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3925
    • Zobacz profil
  • Otrzymane polubienia: 277
Odp: Czy nie lepiej zamienić ANSI na UTF-8?
« Odpowiedź #15 dnia: 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.
« Ostatnia zmiana: 02 Czerwca 2020, 14:28:22 wysłana przez Mariusz1970 »