sql >> Databáze >  >> RDS >> Mysql

PHP:problémy s výstupem utf8 z databáze MySQL pomocí PDO

Při práci s UTF8 existuje několik bodů selhání:

  • ujistěte se, že tabulka je utf8

    Použijte příkaz SQL Show Variables; zkontrolovat nastavení znaků MySQL pro tabulku.

  • vložená data jsou utf8

    Můžete vyzkoušet nástroje jako phpMyAdminer nebo Správce zkontrolovat, zda jsou
    data vložena správně. Zkuste vložit data pomocí nástroje ručně. Při vkládání pomocí skriptu nepoužívejte základní funkce řetězce. Vždy používejte jejich alternativy mbstring. Nastavte mb_internal_encoding( 'UTF-8' ); aby PHP zpracovalo UTF-8 interně.

  • načtená data jsou utf8

    Použil bych pouze $pdo->exec("SET NAMES utf8"); a zbytek zahodit. ProtožeSET NAMES x je ekvivalentní kSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;

  • zobrazená data jsou utf8

    Pokud se toto zobrazuje na stránce html, nezapomeňte nastavit značku metadat nebo záhlaví
    "Content-Type: text/html; charset=utf-8" .




  1. Výchozí hodnota celého čísla Mysql je 0

  2. Jak volat uloženou proceduru s referenčním kurzorem jako výstupním parametrem pomocí Spring?

  3. Jak v MySQL vrátit týden v měsíci?

  4. Aktualizujte jeden řádek pomocí t-sql