Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Problem z kodowaniem PDO UTF-8?

To:

$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8');

jest całkowicie bezcelowe. Zobacz http://php.net/manual/en/ref.pdo- mysql.php . MYSQL_ATTR_INIT_COMMAND jest wykonywane zaraz po nawiązaniu połączenia, nie później. Jeśli ustawisz to na już w pełni utworzonym obiekcie PDO, jest za późno i nigdy nie zostanie wykonane. Musisz przekazać go do konstruktora:

new PDO(..., ..., ..., array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'))

Alternatywnie, jeśli Twoja wersja PHP to obsługuje, dodaj charset=utf8 do DSN.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wolny czas startu MySQL w trybie GTID? Problemem może być rozmiar pliku dziennika binarnego

  2. jak wyświetlić wynik zapytania mysql w określonej kolejności?

  3. Zaktualizuj kolumnę w MySQL

  4. Wyjątek trwałości hibernacji JPA [PersistenceUnit:domyślnie] Nie można zbudować fabryki sesji hibernacji

  5. WYBIERANIE z wieloma warunkami WHERE w tej samej kolumnie