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

Brak polskich znaków z bazy, "częsciowy" zanik polskich znaków

Object Storage Arubacloud
0 głosów
1,401 wizyt
pytanie zadane 23 września 2015 w PHP przez benzulli Użytkownik (720 p.)
Problem jest taki: kiedy wyciągam dane z bazy, te dane nie mają polskich znaków, tylko �, zaś reszta, która została wprowadzona statycznie, ma te polskie znaki. Kiedy natomiast usunę tę linijkę:

        <meta charset="utf-8">

Sytuacja ma odwrotny przebieg zdarzeń: dane z bazy mają polskie znaki, lecz reszta nie. Wszystko w bazie mam jako utf8_polish_ci.

1 odpowiedź

0 głosów
odpowiedź 23 września 2015 przez event15 Szeryf (93,790 p.)
wybrane 24 września 2015 przez benzulli
 
Najlepsza

mysql_set_charset("UTF8", $connection);

albo

http://php.net/manual/en/mysqli.set-charset.php

komentarz 23 września 2015 przez event15 Szeryf (93,790 p.)
poza tym radzę używać utf8_general_ci

Chociaż wiem, że to sporny temat :)
komentarz 23 września 2015 przez benzulli Użytkownik (720 p.)
Wyświetla się jedynie: Current character set: utf8 w miejscu wstawienia funkcji mysqli, znaki nadal pozostają niezmienione.
komentarz 23 września 2015 przez Comandeer Guru (601,590 p.)
Najlepiej używać kodowania utf8mb4_*
komentarz 23 września 2015 przez event15 Szeryf (93,790 p.)
Sprawdź kodowanie plików w edytorze (mam nadzieję, że nie notatnik)
komentarz 23 września 2015 przez efiku Szeryf (75,160 p.)
Było było i było. Wyszukiwarka a nawet i pod tym tematem są podobne ;p

1. PDO
2. Kodwanie plików na UTF-8 bez bom
3. serwer serwuje w UTF-8?
4. baza itd na utf8_general_ci, lub utf8_polish_ci jeśli uwzględniasz wyszukiwanie z ogonkami lub utf8mb4_*

+1 Comandeer ;)
komentarz 24 września 2015 przez benzulli Użytkownik (720 p.)
edycja 24 września 2015 przez benzulli
Notepad++ - kodowanie utf-8 bez bom.

baza na utf8_polish_ci

 

Co to znaczy: serwer serwuje w UTF-8? Nie widziałem nigdzie opcji w panelu, żeby to sprawdzić (hosting linuxpl.com, ale tam już tyle pracuję i nigdy problemów z tej strony nie było).

 

Nie próbowałem PDO, czy jest jakiś inny sposób, oprócz PDO?

 

//edit

("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");

("SET CHARSET utf8");

zadziałało, przepraszam za moje lenistwo, lecz jest trochę późno i bez odpoczynku szukałem jak głupi rozwiązania, a ono tutaj gdzieś było na forum. Dzięki chłopaki za pomoc!
komentarz 24 września 2015 przez event15 Szeryf (93,790 p.)

mysqli:

$mysqli->set_charset("utf8");


mysql:

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET collation_connection = utf8_polish_ci");


pdo:

$pdo-> query ('SET NAMES utf8');

 

  1. Zmień edytor na nadający się do PHP. 
  2. Upewnij się, że zapisany plik jest w formacie UTF-8 
  3. upewnij się, że jest w nim doctype poprawnie ustawiony (<html lang=pl> i znacznik meta jeżeli tam gdzieś masz)
  4. upewnij się, że baza danych przyjmuje znaczki polskie
  5. oczywiście jeżeli nie ma pewności to edytujesz bazę danych na odpowiednie kodowanie, oraz tabelę oraz pola, które muszą zawierać tekst.

Wincyj pomysłów nie mam

komentarz 24 września 2015 przez benzulli Użytkownik (720 p.)
Dzięki wielkie, używałem przez cały czas PDO, nie wiedząc, że to PDO. Twój sposób zadziałał! Wielkie dzięki!
komentarz 24 września 2015 przez efiku Szeryf (75,160 p.)
W PDO lepiej przy połączeniu dawać charset=utf-8 ;)
komentarz 24 września 2015 przez Comandeer Guru (601,590 p.)
A jak mamy starą wersję PHP/bazy, to jako init command

Podobne pytania

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

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 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!

...