• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MySQL nie czyta polskich znaków

Object Storage Arubacloud
0 głosów
2,385 wizyt
pytanie zadane 2 marca 2017 w SQL, bazy danych przez MałyAleWariat Bywalec (2,830 p.)
Cześć.

Widziałem, że jest kilka takich tematów, ale nie pomogły niestety, więc postanowiłem napisać.
Problem wygląda następująco:

Mam poustawiane wszędzie w MySQL utf8_polish_ci, i nie zmieniałem nic, nawet zrobiłem nową bazę, żeby sprawdzić, czy coś przypadkiem nie przestawiłem.

Jak robiłem krok, po kroku, za szefem w kursie wideo, to działało, a teraz oko Saurona.

Gdy wpisuję: "Żółć" to otrzymuję w MySQL "Żółć".

Ale kiedy wyciągam dane, to na stronie zamiast "Żółć", wyświetla normalnie "Żółć". W czym może być problem?
komentarz 2 marca 2017 przez MałyAleWariat Bywalec (2,830 p.)
if ($wszystko_OK==true)
{
  //Testy zaliczone, dodaj użytkownika do bazy
  if ($polaczenie->query("INSERT INTO pracodawcy VALUES (NULL, '$login', '$haslo_hash', '$email', '$plec', '$imie', '$nazwisko', '$data_urodzenia', now(), 0)"))
  {
    $_SESSION['udanarejestracja']=true;
    header('Location: gra.php');
  }
  else 
  {
    throw new Exception($polaczenie->error);
  }

 

Kodu nie dodałem.

3 odpowiedzi

+2 głosów
odpowiedź 2 marca 2017 przez Bosswell Nałogowiec (36,470 p.)
wybrane 2 marca 2017 przez MałyAleWariat
 
Najlepsza
Zakładam, ze nie masz kodowanego połączenia i używasz mysqli obiektowo.

To powinno załatwić sprawę ;)

$polaczenie->set_charset("utf8");
komentarz 2 marca 2017 przez MałyAleWariat Bywalec (2,830 p.)
Prawie git :D
Z ciągu znaków "ĄęŻółćźń" dostałem "ĄęŻółćźń", czyli nie czyta "ó", a podstawia zamiast tego "ó"
komentarz 2 marca 2017 przez MałyAleWariat Bywalec (2,830 p.)
Ale teraz na stronie wyświetla mi " ???ó????" Czyli strona czyta "ó" a reszty już nie bardzo.
1
komentarz 2 marca 2017 przez Bosswell Nałogowiec (36,470 p.)
1.W tabeli ustaw kodowanie znaków na utf8_polish_ci

2.W kolumnie, gdzie zapisywany jest tekst ustaw kodowanie na utf8_polish_ci

3.W kodzie html ustaw <meta charset="utf-8"/>

4.W edytorze ustaw kodowanie znaków na UTF-8 bez BOM

5.Kiedy otwiersz połączenie z bazą czy to do zapisania, lub odczytania danych,

ustaw wcześniej wymienionego $polaczenie->set_charset("utf8");

 

Dane, które były wcześniej zapisane do tabeli (i nie były kodowane), nie będą prawidłowo odczytywane

Któryś z tych kroków powinień pomóc ;)
komentarz 2 marca 2017 przez MałyAleWariat Bywalec (2,830 p.)
Mądrze prawisz, ale wszystko mam, tak jak napisałeś
komentarz 2 marca 2017 przez Bosswell Nałogowiec (36,470 p.)
Jak dokładnie wygląda twój problem ? Podaj przykład
komentarz 2 marca 2017 przez MałyAleWariat Bywalec (2,830 p.)
1. Były pierwsze 4 pkt. ustawione i kiedy napisałem w inpucie "imie" ciąg znaków: "Żółć", to w MySQL pokazywało: " Żółć ", ale jak już pobierało dane z bazy na stronkę to wyświetlało prawidłowo: "Żółć".

2. Dodałem " $polaczenie->set_charset("utf8"); ", i w tym momencie kiedy wpisałem ciąg znaków: "ĄęŻółćźń" (żeby sprawdzić wszystkie), to w MySQL wyświetlała już: "ĄęŻ&oacute;łćźń", czyli nie czyta tylko "ó", ale pojawił się kolejny problem, bo jak pobieram dane z bazy, do wyświetlenia na stronkę to dostałem zamiast: "ĄęŻółćźń" coś takiego: "???ó????"
komentarz 2 marca 2017 przez MałyAleWariat Bywalec (2,830 p.)
Dziękuję za pomoc :)
0 głosów
odpowiedź 2 marca 2017 przez rafal.budzis Szeryf (85,260 p.)
Po połączeniu sie z baza danych wykonaj zapytanie SQL :

SET NAMES UTF8
0 głosów
odpowiedź 2 marca 2017 przez MałyAleWariat Bywalec (2,830 p.)
Ma ktoś jakiś pomysł ?
komentarz 2 marca 2017 przez Totek Użytkownik (860 p.)
ustaw w bazie kodowanie na utf8_general_ci ;)

Podobne pytania

0 głosów
1 odpowiedź 1,073 wizyt
pytanie zadane 12 listopada 2016 w SQL, bazy danych przez wowo95 Początkujący (320 p.)
0 głosów
1 odpowiedź 533 wizyt
pytanie zadane 12 grudnia 2016 w PHP przez Klik Obywatel (1,540 p.)
0 głosów
1 odpowiedź 1,517 wizyt

92,555 zapytań

141,402 odpowiedzi

319,537 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...