[PHP]nietypowy błąd z kodowaniem, konwertowanie polskich liter na czeskie i na odwrót |
[PHP]nietypowy błąd z kodowaniem, konwertowanie polskich liter na czeskie i na odwrót |
-greg87g- |
3.09.2011, 11:08:16
Post
#1
|
Goście |
witam,
mam problem z konwertowaniem znaków w ciągu. chodzi o to, że mając strina który może zawierać czeskie znaki muszę je przekonwertować na polskie oraz jeśli ma polskie odpowiedniki czeskich liter to na czeskie (chodzi o test w którym nie uwzględnia się liter diakrytycznych w odpowiedzi) z pozoru sprawa wyglada prosto:
funcja ta jednak nie działa prawidłowo, po zamianie (pl<>cz) widoczne są krzaki. strona wyświetla się w kodowaniu UTF-8, plik .php jest w kodowaniu UFT-8 nie działa również:
a właściwie to powoduje jeszcze większe krzaki niż bez konwersji. sprawdziłem więc jakie jest ustawione kodowanie na każdy ze stringów i ku mojemu zdziwieniu wyszło:
bardzo proszę o pomoc, już naprawde nie wiem co ma zrobić. próbowałem również dla każdej z litery osobno, ale nic z tego... |
|
|
3.09.2011, 11:24:50
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
1. abcdef... są tak samo polskie jak i czeskie. To łacińskie, nie polskie znaki.
2. Pierwsze zdanie z dokumentacji strtr: Cytat If given three arguments, this function returns a copy of str where all occurrences of each (single-byte) character in from have been translated to the corresponding character in to, i.e., every occurrence of $from[$n] has been replaced with $to[$n], where $n is a valid offset in both arguments. 3. http://pl.php.net/manual/en/ref.mbstring.php - poszukaj gdzieś czegoś do zamieniania znaków. 4. Swoją drogą iconv może spełniać Twoje wymagania. |
|
|
-greg87g- |
3.09.2011, 11:50:00
Post
#3
|
Goście |
sprawdziłem ten mb_... i jedyne co wydaje się byc pomocne to mb_convert_encoding() ale jak pisałem wcześniej nie działa dobrze :/
co właściwie znaczy to co wyróżniłeś? chcesz powiedzieć ze litery z ogonkami są niejednobajtowe i dlatego funkcja strtr() nie chce działać? iconv() również nie działą, wyświetla efekt podobny do mb_convert_endcoding() tylko że wynik ma postać tylko jednej litery ;( |
|
|
Wersja Lo-Fi | Aktualny czas: 20.04.2024 - 04:09 |