Hvis du har skiftet webhost eller ændret databasen til din WordPress-blog, kan du støde på et problem, hvor udenlandske tegn ikke vises korrekt på dit websted. I stedet for de fremmede tegn vil du se mange spørgsmålstegn (???) på plads. I denne artikel vil vi vise dig, hvordan du løser dette problem og viser korrekt sprog uden at miste data.

Hvad er tegnkodning?

Før vi går til årsagerne og løsninger på dette problem, skal vi være klare over tegnkodning. Ord og sætninger i ethvert sprog består af tegn. Disse tegn er grupperet i tegnsæt. Hver karakter er gemt i computerens hukommelse ved hjælp af en binær kode. Ved hjælp af denne kode kan computeren dekode den aktuelle karakter. Denne binære kode kaldes tegnkodning.

Forskellige sprog bruger forskellige koder til at henvise til forskellige tegn. Den samme kode i to langauges kan betyde helt forskellige tegn. Dette afgøres ved hjælp af hvilken tegnkodning der bruges af computeren.

Du kan se nogle af tegnsætene på W3Schools, der bruges på internettet. Gå til Wikipedia for det komplette sæt characte sæt.

Så du ??? i din WordPress blog?

Der kan være nogle årsager, der fører til at vise de forkerte tegn. Først og fremmest skal du sørge for, at du bruger det samme tegnsæt i din wp-config.php-fil. Se efter den følgende linje og sørg for, at den ikke kommenteres:

 define ('DB_CHARSET', 'utf8'); 

For det andet skal du kontrollere, om dit tema bruger tegnsætet, der er angivet i wp-config.php-filen. Se efter den følgende linje i din HTML:

Og endelig skal du kontrollere, at dit databaseindhold er gemt med samme tegnsætkodning, som du bruger i din wp-config.php-fil og HTML. Hvis du bruger phpMyAdmin til at administrere din database, kan du se den aktuelle serversamling i generelle indstillinger.

Ændring af tegnsættet med komplet WordPress-database er ikke en nem opgave og bør gøres med stor omhu. Her er trinene til at konvertere en database til dit tegn sæt valg.

1. Først og fremmest skal vi kontrollere det aktuelle tegnsæt i databasen. Her er SQL-forespørgslen for at kontrollere:

 VIS VARIABLES LIKE "character_set_database"; 

2. Hvis tegnsættet ikke er, hvad du vil, skal du tage en sikkerhedskopi af din database, før du fortsætter videre.

3. Kør følgende SQL-forespørgsel for at ændre characatersæt af komplet database:

 ALTER DATABASE MyDb CHARACTER SET utf8; 

Skift "MyDB" til navnet på din database.

4. Konverter nu "wp-posts" -tabellen til den ønskede tegnkodning:

 ALTER TABLE wp_posts CHARACTER SET utf8; 

Skift "wp_" hvis du bruger et andet præfiks.

Disse trin fjerner spørgsmålstegnene eller andre underlige tegn og vil i stedet vise egnede fremmede tegn. Hvis du har mange kolonner i WordPress-databasen, der er indstillet til brugerdefineret tegnsæt, skal du ændre tegnsættet for hver kolonne ét ad gangen.

Da UTF-8 er den mest anvendte tegnkodning, kan din blog bruge en anden tegnkodning, og du vil ændre den til UTF-8. Du kan bruge pluginmet kaldet UTF-8 DB Converter. Selv om det ikke har været opdateret i temmelig lang tid, vil den kunne udføre sin opgave effektivt. Bemærk, at hvis du har en stor database, vil konverteringen af ​​tegnsættet tage lang tid.

Fortæl os om din oplevelse, hvis du har det samme problem.