Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kodowanie znaków w Mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
oczy
Witam,
dziwna sprawa założyłem baze
kodowanie utf8_general_ci by default winksmiley.jpg po kolei utfy wszedzie
strona (tzn) dokument html - kodowanie utf-8
formularze w dokumencie - acceptcharset= utf-8
kodowanie plikow php - utf-8 & \n

Problemu oczywiscie nie ma kiedy wstawiam cos do bazy przez stronę ... no bo niby jakie miałybyć cool.gif

... ale wchodzę sobie na phpmyadmina i te same bosko wyglądające ś-ki eć-ki i inne ogonki wyglądają conajmniej dziwnie
... więc co tam winksmiley.jpg update wiersza po całości przez phpmyadmina ... super wygląda :-) teraz znowu mam wszystko jak trzeba polskie znaczki na maxa wszędzie (małe,duże, wszystkie)

iiii.....
wskakuję na stronę blink.gif
a tam dla odmiany to samo co wcześniej w phpmyadminie czyli chaszcze....

O CO CHODZI?
(bylo testowane w windzie i w suse na IE i na FF - wszedzie to samo ) sux
Lardux
przestaw sobie kodowanie w phpmyadmin na to utf, a tak na marginesie to polecalbym iso.... i to wszedzie
TomASS
Cytat
przestaw sobie kodowanie w phpmyadmin na to utf, a tak na marginesie to polecalbym iso.... i to wszedzie


Bo?
aleksander
ehh ja mam podobny problem. Wszystkie kolumny w bazie są utf8_general_ci, templaty skonwertowałem także do unicode. i niby wszystko w porzadku polskie znaczki sie wyswietlaja ALE:

mam taka preg, ktory wszystkie znaki oprocz 0-9a-zA-Z zamienia na podkreslenie. I np dla "abąc" powinno byc "ab_c" a jest "ab__c" i jak wejde phpmyadminem to literka ą jest reprrezentowana przez dwa krzaczki.

W związku z tym czy to php ma problemy z unicode? Co mam zrobic?

daodam, ze mowimy o win XP i XAMPP
FiDO
Stosowales flage u w tym preg'u ?
aleksander
działa! dzięki wielkie
JanBezKsywy
oczy mam ten sam problem - strona: nagłówek HTML z ustawionym kodowaniem "utf-8" + skrypt php wyciągający dane z bazy MySQL - kodowanie bazy "utf-8", w bazie pole ma "metodę porównywania napisów" ustawioną na "utf8_polish_ci" po wyciągnięciu wartości pola z bazy, które ma się wyświetlić zamiast polskich znaków mam znaki zapytania...

EDIT: acha, bo to pewnie ważne - mam konto na darmowym serwisie, gdzie mają MySQL w wersji 5.0.x, czy to może być coś z tym?
osiris
Kolejny raz ten sam problem. Sprawdz czy ustawiasz kodowanie dla polaczenia z baza danych (SET NAMES 'utf8')?
Radze troche poczytac MySQL reference manual (dostepny na stronie http://www.mysql.com)!
JanBezKsywy
Dzięki. Nie bardzo skojarzyłem na początku o co chodzi z tym "SET NAMES" i musiałem trochę pokombinować i przeszukać jeszcze raz forum ale poszło:
  1. <?php
  2. $connection=@mysql_connect($host, $user, $pwd) or die ("Błąd połączenia z bazą.");
  3. if (mysql_select_db($dbname, $connection)==True)
  4. {
  5. $query_kod = "SET NAMES 'utf8'";
  6. $odpowiedz=mysql_query($query_kod,$connection) or die ("Błąd kodowania znaków.");
  7. //i dalej można zadawać normalne zapytania i wyciągać z nich dane
  8. }
  9. ?>
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.