![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 21.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hej.
Mam mały problem. Czytałem na stronie zyx art. "PHP, MySQL 4.1 i unicode". Mialem problem bo kodowanie ustawialem na utf-8 a w bazie mialem krzaki a nie polskie litery. Teraz jest juz okej i do bazy zapisuja mi sie polskie litery. Teraz chodzi mi o to ze chce na stronie zrobić sobie mod_rewrite i z jednego pola w bazie chce pobrac dane i: 1. zamienić na małe litery (to nie problem); 2. usunąć polskie znaki (i tu mam problem), gdyż wychodzą mi krzaki ;( (tzn. znaczki kwadratowe ze znakami zapytań). funkcje mam taka:
mam dodane na poczatku:
Może kotś mi cos poradzic i pomóc bo juz nie mam pomysłow. Pozdrawiam, Łukasz. ............... zaczeło działać jak dodałem:
ale dlaczego? iconv bez drugiego argumentu ... nie rozumiem... a wszystko przez przypadek. Ten post edytował loopb 23.08.2007, 03:17:00 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Primo: KOD W TAGI!!!
Secundo: W jakim kodowaniu zapisany masz plik?? Sprawdź to ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 21.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
ANSI
![]() dobra zmienione na UTF-8. A jaka jest roznica z UCS-2 LE i BE. Pozdrawiam. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
UCS jest kodowane 16 bitowymi znakami unicode.
P.S. Krzaki przestaly dolegac? Ten post edytował deirathe 22.08.2007, 12:50:16 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 21.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zapisalem .php w UNT-8 i kraczki sa :]. Ale od poczatku jeszcze raz.
Mysql chodzi w UTF-8 Unicode (utf8). W mysql mam ustawiona bazę i tabele: utf8_polish_ci w nagłówku skryptu wysyłam: header('Content-type: text/html;charset=utf-8'); po połączeniu z baza mam: mysql_query('SET NAMES utf8'); (chociaz w zasadzie nie powinno byc potrzebne bo mam w mysql ustawione) Następnie pobieram dane z bazy. Po wywołaniu przykładowo echo $event[0]; wyświetla mi poprawnie tekst z polskimi znakami. (dodam że w bazie zapisuje dokładnie tak: "ĄąĆćĘꣳÓóŚśŹźŻż") Chce usunać spacje, polskie litery i dodać "_" w miejsce tych spacji co wspomniałem (stworzuc linka do mod_rewrite). Robię to w ten sposób $l3 = str_replace(' ', '_',strtolower(trim(strtr($event[0],'ążśźęćńół', 'azszecnol')))); no i w tym momencie powstaja mi krzaczki. Czy ta metoda zamiany jest zła czy mam to robic np za pomocą kodów HEX? Pozdrawiam, Łukasz. P.S. WYSYFIG mi nie działa wiec musze w ten sposob pisac (wkleiłem z formatowaniem z worda). ZA JAKIES 20 MINUT: zmieniłem na (chciałem wywoływać strtolower na polskich znakach ale juz jest okej) $l3= trim(strtolower(str_replace(array(' ','Ą','Ż','Ś','Ź','Ę','Ć','Ń','Ó','Ł','ą','ż','ś','ź','ę','ć','ń','ó','ł'), array('_','A','Z','S','Z','E','C','N','O','L','a','z','s','z','e','c','n','o','l'),$event[0]))); ale czy to najbardziej efektowne rozwiązanie? Ten post edytował loopb 22.08.2007, 21:15:37 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Bylo walowane juz to... Ten post edytował kicaj 22.08.2007, 22:32:57 -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 21.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Domyslilem sie po pewnym czasie jak to robilem:
podsumowując łącze sie jak powyżej; wszystko tam jest dobrze?
pobieram sobie dane. zeby uzyskac male litery i bez polskich znakow musze najpier wprzeszukac stinga funkcja str_replace i pozamieniac polskie (niewazne jakie sa male czy duze) a dopiero pozniej strtolower gdyz strtolower przed zamiana nie zadziala (wyjda krzaczki)? zgadza sie? i po tym moge sobie zrobic jeszcze trim. w ten sposób:
jezeli mam gdzies blad jeszcze to poprawcie prosze. Ten post edytował loopb 23.08.2007, 03:20:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:58 |