sql >> Database >  >> RDS >> Mysql

Hoe om te gaan met internationaal karakter in PHP / MySQL / Apache

Apache

De servercodering moet ofwel niet zijn ingesteld, ofwel zijn ingesteld op UTF-8. Dit wordt gedaan via de apache AddDefaultCharset-richtlijn. Dit kan naar de virtualhost of het algemene bestand (zie documentatie).

AddDefaultCharset utf-8

MijnSql

  • Stel de sortering van de database in op UTF-8
  • Stel de verbindingscodering in. Het kan worden gedaan zoals iemand zei met mysqli_set_charset, of door dit te verzenden net na het verbinden:
    SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'

PHP

1- U moet de HTML-tekenset van de pagina instellen op UTF-8, via een metatag op de pagina of via een PHP-header:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-or-
    header('Content-type: text/html; charset=utf-8');

2- U moet altijd de mb*-versie van tekenreeksgerelateerde functies gebruiken, bijvoorbeeld mbstrlen in plaats van strlen om de tekenreekslengte van een tekenreeks te krijgen.

Dit zou u in staat moeten stellen om overal UTF-8 te hebben, van de pagina's tot de gegevens. Een test die u kunt doen:klik met de rechtermuisknop ergens op de pagina met Firefox en selecteer Pagina-informatie weergeven. De effectieve codering wordt op die pagina vermeld.



  1. C# SQLServer haalt resultaten op en plaatst ze in een .csv-formaat

  2. Installeer icu4c versie 63 met Homebrew

  3. Hoe maak je een veld NULL met MySQL GUI Tools?

  4. Hoe de STR()-functie werkt in SQL Server (T-SQL)