![]() |
![]() |
-greg87g- |
![]() ![]()
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... |
|
|
![]() |
![]()
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- |
![]()
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 ;( |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 06:44 |