[PHP][MySQL] Kodowanie znaków w bazie danych

0

Witam,
trafiłem na problem którego nie mogę rozwiązać. Po walkach z kodowaniem polskich znaków na stronie wyszedłem obronną ręką ustawiając windows-1250 (ale wieś), ale nic innego nie pasowało. Natomiast teraz zauważyłem że nie pobiera polskich znaków z bazy danych.
Nie pobiera: źąś ŹĄŚ

Ustawiałem kodowania:
Polski - Polish (iso-8859-2)
Polski - Polish (utf-8)
Polski - Polish (win1250)

i nic. Nie mam pojęcia jak zgrać jedno z drugim. Czy ktoś ma jakieś doświadczenie w tym temacie którym chce się podzielić?

0

właśnie przed chwilą miałem podobny problem,
w mysqlu ustawiłem metodę porównywania napisów na utf8_polish_ci
w php po połączeniu z bazą:
mysql_query("SET NAMES 'utf8'");
jeszcze gdzieś w konfigach php można powyższe podobno defaultowo ustawić, ale nie wiem jak

0

Lepiej ustawić odpowiednio konfigurację zamiast za każdym razem wysyłać SET NAMES.
A co do kodowania, to moim skromnym zdaniem wszystko poza UTF-8 powinno być zakazane w nowych projektach, wszelkie win, iso etc..

0

jak to zrobić?
w tej chwili znalazłem tylko rozwiązanie, żeby w pliku konfiguracyjnym mysql ustawić:
[mysqld]
init_connect='SET NAMES utf8'

jest coś optymalniejszego?

0

W PMA masz przy każdej bazie danych i tabeli ustawienia "porównywania znaków", czy jak to się tam nazywało...

0

tak, tylko php ignoruje to ustawienie, ustawiłem wszędzie utf-8
a mysql_client_encoding() zwraca mi i tak zawsze po polaczeniu latin1 nawet jak zastosuje ktores z powyzszych rozwiazan

0
  1. Niby jak mam ustawić UTF-8 jeżeli nie odczytuje polskich znaków? Tylko windows-1250 to potrafi.
  2. Konfiguracje którą ustawiałeś to w jakim pliku to było? Ja mam serwer na home.pl.
0
Zi00mal napisał(a)
  1. Niby jak mam ustawić UTF-8 jeżeli nie odczytuje polskich znaków? Tylko windows-1250 to potrafi.
  2. Konfiguracje którą ustawiałeś to w jakim pliku to było? Ja mam serwer na home.pl.

Yyy... Dojebałeś z tym potrafieniem ;/ Z kodu 4P:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
I jakoś potrafi forum poprawnie wyświetlić.

0

u mnie to był plik "mysql\bin\my.ini" ale zapewne nie będziesz miał do tego dostępu
pozostaje wysyłanie set names po każdym połączeniu, albo znalezienie jakiegoś sposobu ustawienia tego defaultowo.
Szukałem trochę czasu i we większości miejsc polecają właśnie mysql_query("SET NAMES 'utf8'");

1 użytkowników online, w tym zalogowanych: 0, gości: 1