![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Cześć. Obsługuję jeden aktualizator w sklepie i program magazynowy wypluwa mi dane o produktach, w których jest również nazwa i brzmi ona np. "îwiecznik kostka 6x6x6cm" (powinno być "Świecznik", a nie "îwiecznik"). Następnie parsuję ten plik i wyciągam potrzebne mi dane. Jak dałem mb_detect_encoding na tym tekście, to wyskoczyło mi, że to jest "ASCII". Pytanie brzmi, jak to poprawnie skonwertować na UTF-8? Dziwna sprawa, ponieważ - o ile dobrze wiem - to ASCII jest podzbiorem UTF-8, a więc jeśli coś jest ASCII, to jest de facto już UTF-8. Możliwe więc, że dane wyplute z programu magazynowego są błędnie pokodowane? Można to jakoś naprawić w PHP?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 18 Dołączył: 7.10.2007 Skąd: Pruszków Ostrzeżenie: (0%) ![]() ![]() |
Wszystko jest możliwe. Zwłaszcza jeśli autorem programu są osoby z kraju w którym nie mają problemu z kodowaniem znaków (mam tu na myśli wyświetlanie specjalnych znaków alfabetu).
Zerknij tutaj. http://php.net/manual/en/function.iconv.php Mi zdarzyło się już kiedyś tak, że nie byłem wstanie rozpoznać w czym są zakodowane znaki i z rozpaczy zrobiłem preg_repace, ale nie polecam tego rozwiązania. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Próbowałem konwertować poprzez iconv i iconv zwracał mi false.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 19:37 |