Hvis du har byttet webverten eller endret databasen for WordPress-bloggen din, kan det hende du støter på et problem der utenlandske tegn ikke vises riktig på nettstedet ditt. I stedet for de utenlandske tegnene, vil du se mange spørsmålstegn (???) på plass. I denne artikkelen vil vi vise deg hvordan du løser dette problemet og viser riktig språk uten å miste data.

Hva er tegnkoding?

Før vi går til årsakene og løsningene på dette problemet, må vi være tydelige om tegnkoding. Ord og setninger i et hvilket som helst språk består av tegn. Disse tegnene er gruppert i tegnsett. Hver karakter lagres i datamaskinens minne ved hjelp av en binær kode. Ved hjelp av denne koden kan datamaskinen dekode den aktuelle karakteren. Denne binære koden kalles tegnkoding.

Ulike språk bruker forskjellige koder for å referere til forskjellige tegn. Den samme koden i to langauges kan bety helt forskjellige tegn. Dette avgjøres av hvilken tegnkodning som brukes av datamaskinen.

Du kan se noen av tegnsettene på W3Schools som brukes på Internett. Gå til Wikipedia for hele settet med characte-sett.

Så du ??? i WordPress-bloggen din?

Det kan være noen årsaker som fører til å vise feil tegn. Først av alt må du forsikre deg om at du bruker det samme tegnsettet i wp-config.php-filen din. Se etter følgende linje og sørg for at det ikke er kommentert:

 define ('DB_CHARSET', 'utf8'); 

For det andre må du sjekke om temaet ditt bruker tegnsettet som er angitt i wp-config.php-filen. Se etter følgende linje i HTML:

Og til slutt må du kontrollere at databasen innholdet er lagret med samme tegnsettkoding som du bruker i din wp-config.php-fil og HTML. Hvis du bruker phpMyAdmin til å administrere databasen, vil du kunne se den nåværende serverkollasjonen i Generelle innstillinger.

Endre tegnsettet med komplett WordPress-database er ikke en enkel oppgave, og bør gjøres med stor forsiktighet. Her er trinnene for å konvertere en database til ditt tegnsett.

1. Først av alt, må vi sjekke gjeldende tegnsett i databasen. Her er SQL-spørringen for å sjekke:

 VIS VARIABLES LIKE "character_set_database"; 

2. Hvis tegnsettet ikke er det du vil, bør du ta en sikkerhetskopi av databasen før du fortsetter videre.

3. Kjør følgende SQL-spørring for å endre characater-settet med komplett database:

 ALTER DATABASE MyDb CHARACTER SET utf8; 

Endre "MyDB" til navnet på databasen din.

4. Konverter tabellen "wp-posts" til tegnkodingen du vil ha:

 ALTER TABLE wp_posts CHARACTER SET utf8; 

Endre "wp_" hvis du bruker et annet prefiks.

Disse trinnene fjerner spørsmålstegnene eller andre rare tegn og vil vise riktige utenlandske tegn i stedet. Hvis du har mange kolonner i WordPress-databasen som er satt til egendefinert tegnsett, må du endre tegnsettet for hver kolonne en etter en.

Siden UTF-8 er den mest brukte tegnkodingen, hvis bloggen din bruker en annen tegnkoding, og du vil endre den til UTF-8, kan du bruke plugin-kalt UTF-8 DB Converter. Selv om det ikke har blitt oppdatert i ganske lang tid, vil den kunne utføre oppgaven sin effektivt. Vær oppmerksom på at hvis du har en stor database, vil konverteringen av tegnsettet ta lang tid.

Fortell oss om din erfaring hvis du har det samme problemet.