sql >> Databasteknik >  >> RDS >> Mysql

Latin-1 / UTF-8 kodning php

Din HTML-utdata måste vara i en enda kodning, det finns ingen väg runt det. Detta innebär att innehåll i olika kodningar måste konverteras till din HTML-kodning först. Även om det är möjligt att göra med iconv eller mb_convert_encoding , det finns två problem du måste lösa:

  1. Du måste känna till (eller gissa) innehållets aktuella kodning
  2. Du måste göra detta manuellt, överallt

Till exempel skulle en teoretisk lösning vara att välja UTF-8 som din HTML-kodning och sedan göra detta för alla strängar du ska mata ut:

$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;

Koden ovan förutsätter att innehåll som inte är UTF-8 är kodat på latin-1, vilket är rimligt enligt din fråga.



  1. Oracle Update Query saknar SET nyckelord - ORA97100 &ORA-00904

  2. Laravel vältalig hitta returnerar null

  3. Spring boot data.sql initierar inte data i Postgresql

  4. c3p0 säger - java.lang.Undantag:ENDAST DEBUG:Försenad resursutcheckning stackspårning vid start av en vilotransaktion