Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 4
  • 66

Pobierając jakąś wartość z bazy danych MySQL(metoda porównywania napisów utf8_polish_ci) za pomocą php dostaję krzaczki zamiast polskich znaków. Z poziomu phpmyadmin wszystko w bazie wygląda dobrze... Co mogę zrobić?

Paweł_Krugiołka
  • Zapytał
  • @ Paweł_Krugiołka | 27.01.2016
    • laureat
    • 5
    • 0
    • 6

Odpowiedź (1)

  • 3

Zasadniczo są dwa miejsca, gdzie należy ustawić odpowiednie kodowanie znaków. Pierwszym jest połączenie z bazą danych.

$mysqli->set_charset('utf8'); // Dla mysqli
$pdo = new PDO('mysql:dbname=x;host=x;charset=utf8','user','pass'); // Dla PDO

Drugim miejscem jest odpowiednie kodowanie w dokumencie generowanym przez PHP. W przypadku html należałoby ustawić nagłówek.

Content-Type: text/html; charset=utf-8

Dobrze byłoby w samym dokumencie umieścić też poniższy nagłówek meta.

<meta charset="utf-8">

[Deleted User]
  • Odpowiedział
  • @ [Deleted User] | 27.01.2016
    • 0
    • 0
    • 2