Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brak polskich znaków w samej tabeli.
Forum PHP.pl > Forum > Bazy danych > MySQL
gawcio90
Witam,
mam problem z polskimi znakami w samej tabeli MySQL. Zawsze wstawiają się do niej albo pytajniki albo krzaczki.

Moje ustawienia:

formularz:
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


php:
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


tabela:
Kod
charset: utf8
collation: utf8_polish_ci


Połączenie do bazy:
  1. mysql_query("SET NAMES 'utf8'");

W takim wypadku jest pytajnik.


Natomiast jeżeli zmienię na:
  1. mysql_query("SET NAMES 'utf-8'");

Wtedy są krzaki.


Na stronie wszystko jest w porządku, polskie znaki są wyświetlane, tylko w samych tabelach ich brak.
Do przeglądania tabeli korzystam z MySQL Query Browser.

Próbowałem zmieniać ustawienia również na latin2 oraz na ISO-8859-2, efekt taki sam.

Macie jakieś sugestie? Dlaczego tak się dzieje?


Pozdrawiam.
glh
A czy w MySQL Query Browser masz ustawiony w edytorze font z obsługą utf-8 ? Przestaw np. na Arial i zobacz czy błąd dalej występuje.
tomxx
Sprawdź czy Sortowanie połączenie z serwerem jest też ustawione na utf8. I czy każde pole w tabeli ma taką metodę porównywania napisów.
A kodowanie utf-8 w set names raczej nigdy nie zadziała przy połączeniu z MySQL.
gawcio90
@glh - tak nadal to samo

@tomxx - gdzie mogę to sprawdzić lub zmienić?
tomxx
bezpośrednio po wejściu do phpMyAdmina
gawcio90
Niestety nie posiadam phpMyAdmin, korzystam z MySQL Administrator.
mmmmmmm
Wydaj polecenie SHOW CREATE TABLE ...
Wypisze ci całą strukturę tabeli wraz z kodowaniem.
Jeśli będziesz miał utf8_polish_ci, to jest OK.
To że w jakimś programie, który nie wiadomo jakich komponentów używa nie ma polskich znaków, to nic nie znaczy. MySQL Workbench tez ma problemy z tym. Wpisz sobie w notatniku zapytanie typu:
SELECT * FROM tabela WHERE pole ='fraza z polskimi znakami, im więcej, tym lepiej, która NA PEWNO jest w tabeli'
a potem wklej to do swojego narzędzia i sprawdź, czy masz wynik.
Możesz również tak sprawdzić z INSERTEM (dla pewności wcześniej)
tomxx
Cytat(gawcio90 @ 18.11.2013, 22:59:36 ) *
Niestety nie posiadam phpMyAdmin, korzystam z MySQL Administrator.

W takim razie wejdź w ustawienia serwera baz danych.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.