Baza MySQL i "krzaczki"


(arlid) #1

Witajcie. Chciałem sobie ułatwić pracę i za pomocą HeidiSQL zrobić bazę. Wszystko działa, baza się robi, ale cokolwiek wpisze do niej z polskimi znakami powoduje wyświetlanie się tam krzaczków ( w miejsuc polskich znaków). Na stronie jest ok. Nie wydaje mi się, żeby to było normalne. Co mogę z tym zrobić? Co może powodować problem?


(ziggurad) #2

Sprawdź kodowanie bazy/tabeli/komórki i w jaki sposób wprowadzasz tam dane?


(arlid) #3

Dane wprowadzane zarówno poprzez kreator w Heidi, jak i poprzez kwerendę SQL oraz formularz na stronie. Kodowanie domyślne dla serwera to: latin1_swedish_ci. Zmieniałem na utf8_unicode_ci i również nic.


(Fizyda) #4

Po zmianie kodowania wprowadź dane i dopiero będzie widać efekt. Dla wprowadzonych danych niewiele się zmieni, krzaczki będą dale trzeba by było je przekonwertować.


(arlid) #5

Tak, wiem. Wprowadzałem nowe dane - zmieniałem również te już istniejące i niestety. Czasem zamiast polskich znaków mam “?”, albo krzaczki. Co ciekawe, nawet przez PHPMyAdmin również jest ten problem, więc to raczej wyklucza używanie HeidiSQL - z tym mi się troszkę łatwiej pracuje.


(Fizyda) #6

Dobra, zmieniłeś kodowanie globalnie, ale czy zaktualizowałeś tabele? Globalne ustawienie jest brane jako domyślne podczas tworzenia tabeli, a nie wpływa na już istniejące.


(arlid) #7

A widzisz :wink: I tu był ten problem. Dzięki. Zmienione i teraz w bazie jest ok, ale żeby tak dobrze nie było to na stronie teraz mam krzaczki. Kodowanie dokumentu UTF-8, więc w czym problem? Chyba nie muszę go jakoś specjalnie “konwertować”? Zresztą od początku był kodowany w UTF-8 i z taką deklaracja jest obecnie.


(Fizyda) #8

Krzaczki są w danych wczytanych z bazy? Jeśli tak to wymagają one przekonwertowania, dla nowo wprowadzonych powinno wszystko być ok.


(arlid) #9

Ok, dzięki za pomoc. czeka mnie trochę pracy z tabelami, ale lepsze to niż robić to od nowa :slight_smile:


(Fizyda) #10

Czasami lepiej zrobić coś od nowa. Ja niedługo będę przepisywał od nowa cały projekt, na szczęście nie jest tego dużo coś w okolicach 30k linijek kodu.