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

Sådan håndteres international karakter korrekt i PHP / MySQL / Apache

Apache

Serverkodningen skal enten ikke være indstillet eller sat til UTF-8. Dette gøres via apache AddDefaultCharset-direktivet. Dette kan gå til den virtuelle vært eller den generelle fil (se dokumentationen).

AddDefaultCharset utf-8

MySql

  • Indstil samlingen af ​​databasen til UTF-8
  • Indstil forbindelseskodningen. Det kan gøres som nogen sagde med mysqli_set_charset, eller ved at sende dette lige efter tilslutning:
    SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'

PHP

1- Du skal indstille HTML-tegnsættet på siden til at være UTF-8, via et metatag på siden eller via en PHP-header:

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

2- Du bør altid bruge mb*-versionen af ​​strengrelaterede funktioner, for eksempel mbstrlen i stedet for strlen for at få strenglængden af ​​en streng.

Dette skulle give dig mulighed for at have UTF-8 overalt, fra siderne til dataene. En test du kan lave:Højreklik hvor som helst på siden ved hjælp af firefox, og vælg Vis sideoplysninger. Den effektive kodning er angivet på den side.



  1. 6 måder at slette duplikerede rækker, der har en primær nøgle i Oracle

  2. Import af felter med flere værdier til Solr fra mySQL ved hjælp af Solr Data Import Handler

  3. Brug af isql med en forbindelsesstreng

  4. Datasikkerhedsstyring