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

PHP:problemy z wyprowadzeniem utf8 z bazy danych MySQL przy użyciu PDO

Istnieje wiele punktów awarii podczas pracy z UTF8:

  • upewnij się, że tabela jest utf8

    Użyj polecenia SQL Show Variables; aby sprawdzić ustawienia znaków MySQL dla tabeli.

  • wstawione dane to utf8

    Możesz wypróbować narzędzia takie jak phpMyAdminer lub Administrator aby sprawdzić, czy
    dane są prawidłowo wstawione. Spróbuj wstawić dane ręcznie za pomocą narzędzia.Podczas wstawiania za pomocą skryptu nie używaj podstawowych funkcji ciągów. Zawsze używaj ich mbstringalternatywnych. Ustaw mb_internal_encoding( 'UTF-8' ); aby PHP obsługiwał UTF-8 wewnętrznie.

  • pobrane dane to utf8

    Używałbym tylko $pdo->exec("SET NAMES utf8"); i upuść resztę. PonieważSET NAMES x jest odpowiednikiem SET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;

  • wyświetlane dane to utf8

    Jeśli jest to wyświetlane na stronie html, nie zapomnij ustawić metatagu lub nagłówka
    "Content-Type: text/html; charset=utf-8" .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql 5.7 jest znacznie wolniejszy niż mysql 5.6 na średnim sql

  2. Wstaw do pola automatycznego przyrostu

  3. Usuwanie ostatniego przecinka w pętli while - PHP

  4. Jak wybrać wszystkie rekordy z wyjątkiem pierwszych 3 rekordów?

  5. Jak używać zmiennej kontrolera w widokach + cakephp