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

Kodowanie greckich znaków działa w HTML, ale nie w PHP

Nawet jeśli brzmi to naprawdę dziwnie, że Twoje dane mysql są poprawnie wyprowadzane, gdzie ciągi php nie działają podczas kodowania, sposób, w jaki próbowałbym rozwiązać Twój problem, polegałby na podzieleniu go na kroki próbujące zidentyfikować, gdzie generowane jest to błędne kodowanie!

Przede wszystkim powinieneś spróbować ustawić swój default_charset do utf-8 w pliku php.ini, co robi się w ten sposób:

default_charset = "utf-8";

Jeśli nie możesz tego zrobić z powodu ograniczeń dostawcy, nadal możesz zmienić wartość w czasie wykonywania za pomocą funkcji ini_set funkcja!

Będziesz także chciał się upewnić, że serwer sieciowy jest również ustawiony na wysyłanie plików zakodowanych w UTF-8! W Apache można to zrobić zarówno w pliku httpd.conf, jak i przy użyciu plików htaccess :

AddDefaultCharset UTF-8

W tym momencie, jeśli wszystko zawiedzie, nadal... spróbuj użyć nagłówków php i względnego zestawu znaków html:

<?php header("content-type: text/html;charset=utf-8") ?>
<!doctype>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <?php echo "α β γ δ ε ϝ ϛ ζ η θ ι κ λ μ ν ξ ο π ϟ ϙ ρ σ τ υ φ χ ψ ω ϡ" ?>
    </body>
</html>

Bardzo ważne jest jednak, aby Twoje pliki były również zapisywane przy użyciu odpowiedniego kodowania (utf-8 jest prawie zawsze lepszym wyborem, pomaga to dość często zapobiegać problemom). Jeśli zapisałeś pliki z kodowaniem innym niż utf-8, zniszcz je i utwórz nowe ze starej zawartości. Czasami edytory nie są w stanie właściwie zmienić kodowania po utworzeniu pliku, mimo że notepad++ generalnie dobrze sobie z tym radzi; po prostu użyj converto to nie encode in funkcja!

Jeśli nadal nie działa, chociaż mam nadzieję, że już działa, możesz sprawdzić inne alternatywy php, takie jak mb_detect_encoding , mb_convert_encoding , htmlpodmioty i htmlspecialchars w celu rozwiązania problemu!




  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 sum() dla różnych wierszy

  2. Znajdź drugą najwyższą pensję w najlepszy możliwy sposób

  3. Jak radzić sobie z awariami bazy danych (Glassfish/MySQL)?

  4. Jak zainstalować MySQL w systemie Windows 10? – Twoje kompleksowe rozwiązanie do instalacji MySQL

  5. O ile szybszy jest MyISAM w porównaniu do InnoDB?