sql >> Database >  >> RDS >> Mysql

Latin-1 / UTF-8-codering php

Uw HTML-uitvoer moet in een enkele codering zijn, daar is geen manier omheen. Dit betekent dat inhoud in verschillende coderingen eerst moet worden geconverteerd naar uw HTML-codering. Hoewel dat mogelijk is met iconv of mb_convert_encoding , zijn er twee problemen die u moet oplossen:

  1. Je moet de huidige codering van de inhoud weten (of raden)
  2. Je moet dit overal handmatig doen

Een theoretische oplossing zou bijvoorbeeld zijn om UTF-8 te kiezen als uw HTML-codering en dit vervolgens te doen voor alle strings die u gaat uitvoeren:

$string = '...'; // from the database

// If it's not already UTF-8, convert to it
if (mb_detect_encoding($string, 'utf-8', true) === false) {
    $string = mb_convert_encoding($string, 'utf-8', 'iso-8859-1');
}

echo $string;

De bovenstaande code gaat ervan uit dat niet-UTF-8-inhoud is gecodeerd in latin-1, wat redelijk is volgens uw vraag.



  1. Mysql Converteer kolom naar rij (draaitabel)

  2. Hoe onbewerkte SQL-query uit te voeren met Zend Framework 2

  3. [BIJGEWERKT 2020-01-23] Microsoft Office 365 Build 1912 Breekt de identiteit van ODBC Linked Tables

  4. PHP - Hoe maak je dynamische URL's?