Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] kodowanie :/
Forum PHP.pl > Forum > Przedszkole
colinQ
Mam kod który wklejam do bazy... posiada on polskie znaki, ale gdy go wkleję i próbuję zawartość wyświetlić na stronie to polskie znaki zamieniają się na "?"...

Wklejam w phpmyadmin...

Wszystko robie w UTF-8

mam:

- mysql_query("SET NAMES utf-8");
- każda strona posiada kodowanie UTF-8
- System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
System porównań dla połączenia MySQL: utf8_unicode_ci

gdy wgrywam ze strony jakiejsc dane do MySQL to jest ok a gdy importuje/wklejam w PHPMYADMIN ot jest źle :/


HELP sadsmiley02.gif
nowotny
A PhpMyAdmina to w jakim masz kodowaniu...?
the_foe
Cytat(colinQ @ 17.03.2008, 20:47:17 ) *
- mysql_query("SET NAMES utf-8");


sprobuj :
  1. <?php
  2. mysql_query("SET NAMES utf8");
  3. ?>
szpakoo
miałem podobny problem kiedyś!
rozwiązaniem było to że text który wklejałem z pliku do phpmyadmina miałem w innym kodowaniu. to co wklejasz do phpma wrzuć do jakiegoś pliku i zmień mu kodowanie na utf-8 tak jak masz w bazie i na stronach... może pomoże
czaru
Ja mam ustawione "Metoda porównywania napisów" w tablicy na latin2_general_ci i zawsze działa w obydwie strony smile.gif
Pliki zapisuję w kodowaniu ISO-8859-2
colinQ
podane metody nie działają sad.gif

spoko czaru, ale ja mam wszystkie pliki w utf8 zakodowane :/
szpakoo
spróbuj jeszcze dopisać podczas połączenia z bazą danych to:
  1. mysql_query("SET NAMES utf8;");
  2. mysql_query("SET CHARACTER SET utf8;");
  3. mysql_query("SET collation_connection = utf8;");
colinQ
nic nie dało ;(

To ma być za połączeniem czy przed? ja robię za smile.gif
l0ud
colinQ, jeżeli chcesz zaimportować dane z pliku (a w pliku masz kodowanie UTF) spróbuj wgrać go wybierając w phpmyadminie zestaw znaków 'binary'.
szpakoo
zrób tak (mi to kiedyś pomogło):
zrób sobie funcje do połączenia z bazą danych i zapisz do oddzielnego pliku php

  1. <?php
  2. function connection(){
  3. $mysql_server = "host";
  4. $mysql_admin = "user";
  5. $mysql_pass = "haslo";
  6. $mysql_db = "baza";
  7. @mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
  8. or die('Brak połaczenia z serwerem MySQL.');
  9.  @mysql_select_db($mysql_db)
  10. or die('Bład wyboru bazy danych.');
  11.  
  12. mysql_query("SET NAMES utf8;");
  13. mysql_query("SET CHARACTER SET utf8;");
  14. mysql_query("SET collation_connection = utf8;");
  15.  
  16. // header('Content-Type: text/html; charset=utf8');
  17.  
  18. }
  19. ?>

a potem połącz się ta funkcją z bazą w pliku php przez np:
  1. <?php
  2. require "connection.php";
  3. connection();
  4. ?>
l0ud
szpakoo, ale on stwierdził, że problem występuje tylko w phpmyadminie.
colinQ
zastosowałem się do l0ud'a i do: "header..."

efekty:

Z p?k. Davcio zrobiło się pĹ‚k. Davcio a powinno być płk. Davcio

dodam jeszcze że jak spojrzę w PHPMYADMIN w "Przeglądaj" to tam również nie ma polskich znaków tylko są te Ĺź etc.

Ale "?" zmieniają się tylko wtedy gdy mam 'binary' bo gdy mam 'utf8' to są "?".

H E L P

...
roofy_1
Witaj!!!
Miałem ten sam problem cięzko jest mi podac rozwiązanie wydaje mi się że wynika to ze źródła danych ja próbowałem zrzucić dane z pliku .xls to przy odzczycie tych danych wyrzucalo mi "?" natomaist jak wpsiałem w phpadminie zlapy poprzez zaytanie te same dane to nie była żadnego problemu;
Poprostu pobaw się zmieniaj kodowania i z różnych źródeł sprubuj wprowadzać dane do bazy; pewnie znajdziejs najbradziej optymalne ustawienia kodowania przy wrzucie i odczycie

Pozdr,
-Jasny82-
Hej,

W jakim środowisku programujesz? Czy jest to notatnik czy np. Zend Studio?
Pytam ponieważ ważne jest też jak zapisujesz plik z kodem - kodowanie powinno być takie samo jak kodowanie strony i danych w bazie.

Pozdrawiam
colinQ
Koduje, edytuje etc. w programie Notepad 2 smile.gif
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.