sql >> Database teknologi >  >> RDS >> Mysql

PHP:problemer med at udlæse utf8 fra MySQL-database ved brug af PDO

Der er flere fejlpunkter, når du arbejder med UTF8:

  • sørg for, at tabellen er utf8

    Brug SQL-kommando Show Variables; for at kontrollere MySQL-tegnindstillingerne for tabellen.

  • indsatte data er utf8

    Du kan prøve værktøjer som phpMyAdminer eller Administrator for at kontrollere, om
    dataene er indsat korrekt. Prøv at indsætte data via værktøjet manuelt. Når du indsætter via script, skal du ikke bruge grundlæggende strengfunktioner. Brug altid deres mbstringalternativer. Indstil mb_internal_encoding( 'UTF-8' ); at lade PHP håndtere UTF-8 internt.

  • hentede data er utf8

    Jeg ville kun bruge $pdo->exec("SET NAMES utf8"); og slip resten. FordiSET NAMES x svarer tilSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;

  • viste data er utf8

    Hvis dette vises på en html-side, så glem ikke at indstille metatagget eller headeren
    "Content-Type: text/html; charset=utf-8" .




  1. MySQL 5.6 DATETIME accepterer ikke millisekunder/mikrosekunder

  2. PHP- indsættelse af binære data i mysql ved hjælp af forberedte sætninger

  3. Hvordan kan jeg opnå den samme Postgres-sorteringsadfærd i Linux som i Mac OS?

  4. SQL-netværksgrænseflader, fejl:26 - Fejl ved lokalisering af server/instans angivet