1.
Mam formularz do którego dodaję tekst. Jest on nastepnie obrabiany i każdy wyraz z tego ciągu dłuższy od 3 znaków jest wsadzany do bazy danych. Cały skrypt, mysql i html używają systemu UTF-8.
Niestety mimo tego do bazy danych wpadają krzaki. Oczywiście gdy wyciągne te rekordy z bazy danych to przeglądarka wyswietli mi je normalnie. Jednak jeśli do MySQL dodam jakiś rekord ręcznie to normalnie rekordy są przetrzymywane z żąśółćńę itp.
Jak zrobić żeby przez sam skrypt tak się dodawało automatycznie??
Tekst jest poddawany obróbce przez nastepujące funkcje w niezmienionej postaci:
<?php //to jest w pętli $tablica[$i] = mb_strtolower($tablica[$i], "UTF-8"); //Następnie każdy wiersz tablicy jest poddawany dodatkowej obróbce która wyciąga z
niego pierwszą literę i zamienia na dużą. $litery = str_split($tablica[$i], 1); $pierwsza_litera = mb_strtoupper($litery[0], "UTF-8"); //TERAZ ZMIENNE $pierwsza_litera i $tablica[$i] są wysyłane kolejno do bazy danych
. ?>
Która z tych funkcji coś zawala?? i na co wymienić zeby nie było krzaków w MySQL
2.
Drugi problem dotyczy tego że z do innego formularza jestem przekierowywany z jakiegoś tam linku. W linku tym jest zawarta zmienna (a więc tablica GET). Zmienna zawiera jedną literę alfabetu. Nie ma żadnego problemu jesli nie będzie to litera z ogonkiem. Jak zczytać z tej zmiennej GET tą litere żeby normalnie mi ją przekonwertowało do UTF-8 i nie powstały żadne krzaki??
Aktualnie używam funkcji html_entity_decode()" title="Zobacz w manualu PHP" target="_manual