• 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

VPS Starter Arubacloud
0 głosów
1,385 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 (599,730 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 (599,730 p.)
A jak mamy starą wersję PHP/bazy, to jako init command

Podobne pytania

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

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...