Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kodowanie php w Latin-1 / UTF-8

Twój wynik HTML musi być w jednym kodowaniu, nie ma sposobu na obejście tego. Oznacza to, że zawartość w różnych kodowaniach musi być najpierw przekonwertowana na Twoje kodowanie HTML. Chociaż można to zrobić za pomocą iconv lub mb_convert_encoding , musisz rozwiązać dwa problemy:

  1. Musisz znać (lub odgadnąć) aktualne kodowanie treści
  2. Musisz to zrobić ręcznie, wszędzie

Na przykład, teoretyczne rozwiązanie polegałoby na wybraniu UTF-8 jako kodowaniu HTML, a następnie zrobieniu tego dla wszystkich ciągów, które zamierzasz wyprowadzić:

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

Powyższy kod zakłada, że ​​zawartość nie-UTF-8 jest zakodowana w latin-1, co jest uzasadnione w zależności od Twojego pytania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL - data-czas do sekund

  2. Dlaczego ten rodzaj w Solr nie działa?

  3. Obliczanie różnicy czasu między 2 datami w minutach

  4. Konwersja formatu daty Java

  5. Brak wartości identyfikatora klucza podstawowego Doctrine Symfony2