Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brak polskich znaków w bazie danych MySQL (phpmyadmin)
Forum PHP.pl > Forum > Bazy danych > MySQL
sauber94
Cześć.

Posiadam projekt napisany w PHP. Mając go lokalnie na komputerze (XAMPP) wszystko jest w porządku, w bazie wszystkie frazy są poprawnie wyświetlane, są polskie znaki. Natomiast gdy wrzuciłem projekt na serwer (CentOS) zaczyna się problem, w bazie ukazują się krzaki, brak polskich znaków.

Poniżej zamieszczam kod, którym łącze się z bazą:
  1. <?php
  2.  
  3. class ConnectionDatabase
  4. {
  5. public function connect()
  6. {
  7. $host = "xxx";
  8. $username = "xxx";
  9. $password = "xxx";
  10. $dbName = "xxx";
  11. try {
  12. $db = new PDO("mysql:host=$host;dbname=$dbName", $username, $password);
  13. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  14. return $db;
  15. } catch (PDOException $e) {
  16. echo $e->getTraceAsString();
  17. print "Error: ".$e->getMessage();
  18. }
  19. }
  20. };


Na każdej podstronie projektu, w kodzie mam linię
  1. <meta charset="utf-8">

W phpmyadmin wszystkie tabele, metoda porównywania napisów ustawione na utf8_polish_ci.
viking
A gdzie tu w tym kodzie masz ustawione SET NAMES?
sauber94
Pisząc wczoraj ten post troszkę poszukałem na ten temat. Dodałem linię:
  1. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");


Tak to powinno wyglądać jak poniżej?

  1. <?php
  2.  
  3. class ConnectionDatabase
  4. {
  5. public function connect()
  6. {
  7. $host = "xxx";
  8. $username = "xxx";
  9. $password = "xxx";
  10. $dbName = "xxx";
  11. try {
  12. $db = new PDO("mysql:host=$host;dbname=$dbName", $username, $password);
  13. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  14. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
  15. return $db;
  16. } catch (PDOException $e) {
  17. echo $e->getTraceAsString();
  18. print "Error: ".$e->getMessage();
  19. }
  20. }
  21. };


viking
Chyba żartujesz. Pierwszy z brzegu link na hasło pdo utf8 https://stackoverflow.com/questions/4475548...coding/21373793
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-2024 Invision Power Services, Inc.