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: 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 |
|
|
|
loopb php + mysql + unicode 21.08.2007, 23:55:28
deirathe Primo: KOD W TAGI!!!
Secundo: W jakim ... 22.08.2007, 08:21:06
loopb ANSI
dobra zmienione na UTF-8. A jaka jest roz... 22.08.2007, 09:03:00
deirathe UCS jest kodowane 16 bitowymi znakami unicode.
P.S... 22.08.2007, 12:49:45
kicaj [PHP] pobierz, plaintext <?php@mysql_query... 22.08.2007, 22:30:45
loopb Domyslilem sie po pewnym czasie jak to robilem:
[... 23.08.2007, 00:33:19 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 20:02 |