![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 4.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam.Mam problem z pewnym zadaniem. Treść jego jet następująca:
Napisz aplikację konwertującą ze standardu Windows-1250 do standardu ISO-8850-2. Aplikacja powinna wczytywać plik w formacie Windows 1250 i zapisywać plik skonwertowany z rozszerzeniem "ISO". Napisałem formularz na wczytanie pliku na serwer, który wygląda tak: Nie wiem jak otworzyć i skonwertować plik, który jest wczytany na serwerze. Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 12.05.2013 Skąd: Hamburg Ostrzeżenie: (0%) ![]() ![]() |
Jak już napisałem wcześniej, nie jesteś w stanie powiedzieć, czy dane kodowanie to Windows-1250. Możesz się pobawić w następujący sposób:
1. mb_detect_encoding ze strict ustawionym na true w celu sprawdzenia, czy to jest kodowanie, które mb obsługuje. 2. Jeśli nie to sprawdzasz, czy zadany string zawiera znaki z przedziału 0x00-0x1F lub 0x7F-0x9F. Jeśli tak, to na pewno nie jest ISO, bo layout-y ISO nie mają pod tymi kodami znaków. Teraz możesz, z dosyć dużym prawdopodobieństwem, powiedzieć, że to może być CP1250. A czy jest? Tego się nie dowiesz, bo inne kodowania z CP mają znaki z tego same zakresu (nie wszystkie ale to musiałbyś znowu porównywać wsztkie code page layout-y i dalej nie będziesz miał 100% pewności). To jest tylko brzydki workaround, który na pewno nie rozwiąże problemu. Niestety albo wymusisz na userze, żeby nie ładował niczego w innego niż UTF-8 albo skończysz z rozkwaszonymi znakami tu i ówdzie :/ Ten post edytował Xelah 20.05.2015, 07:16:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 19:51 |