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

Græske tegnkodning fungerer i HTML, men ikke i PHP

Selvom det lyder virkelig mærkeligt, at dine mysql-data udsendes korrekt, hvor php-strenge fejler ved kodning, ville den måde, jeg ville forsøge at løse dit problem på, være at opdele problemet i trin, der forsøger at identificere, hvor denne fejlkodning er genereret!

Først og fremmest bør du prøve at indstille dit default_charset til utf-8 i php.ini-filen, hvilket gøres sådan her:

default_charset = "utf-8";

Hvis du ikke kan gøre det på grund af udbyderbegrænsninger, vil du muligvis stadig være i stand til at ændre værdien under kørsel ved hjælp af ini_set funktion!

Du vil også gerne sikre dig, at webserveren også er indstillet til at udsende utf-8-kodede filer! I Apache kan dette gøres både i httpd.conf eller ved at bruge htaccess-filer :

AddDefaultCharset UTF-8

På dette tidspunkt, hvis alt fejler, så prøv stadig... at gå med php-headere og relative html-tegnsæt :

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

Det er dog meget vigtigt, at dine filer også gemmes ved hjælp af en passende kodning (utf-8 er næsten altid det bedre valg, det hjælper med at forhindre problemer ret meget). Hvis du har gemt filer med en anden kodning end utf-8, skal du ødelægge dem og oprette nye ud af deres gamle indhold. Nogle gange er redaktører ikke rigtigt i stand til at skifte kodning korrekt, når først filen er oprettet, selvom notepad++ generelt klarer det godt; bare brug converto to ikke encode in funktion!

Hvis det stadig ikke virker, selvom jeg håber det gør det nu, kan du tjekke nogle andre php-alternativer som mb_detect_encoding , mb_convert_encoding , htmlentities og htmlspecialchars for at løse problemet!




  1. MySQL - Valg af data fra flere tabeller, alle med samme struktur, men forskellige data

  2. Hvordan vælger jeg mellem den 1. dag i den aktuelle måned og den aktuelle dag i MySQL?

  3. Skadelige, gennemgående SQL Server-ydeevnemyter

  4. Brug af MySQL Galera Cluster Replication til at skabe en geo-distribueret klynge:Del 1