Om du har bytt webbhotell eller ändrat databasen för din WordPress-blogg kan du stöta på ett problem där utländska tecken inte visas korrekt på din webbplats. Istället för de främmande tecknen kommer du att se massor av frågetecken (???) i sin plats. I den här artikeln visar vi hur du åtgärdar problemet och visar rätt språk utan att förlora data.

Vad är teckenkodning?

Innan vi går till orsakerna och lösningarna på det här problemet måste vi vara tydliga om teckenkodning. Ord och meningar på något språk består av karaktärer. Dessa tecken är grupperade i teckenuppsättningar. Varje tecken lagras i datorns minne med hjälp av en binär kod. Med den här koden kan datorn avkoda den verkliga karaktären. Denna binära kod kallas teckenkodning.

Olika språk använder olika koder för att referera till olika tecken. Samma kod i två långaugar kan innebära helt olika tecken. Detta bestäms av vilken teckenkodning som används av datorn.

Du kan se några av teckenuppsättningarna på W3Schools som används på Internet. Gå till Wikipedia för hela uppsättningen characte-uppsättningar.

Såg du ??? i din WordPress blogg?

Det kan finnas några orsaker som leder till att felaktiga tecken visas. Först och främst måste du se till att du använder samma teckenuppsättning i din wp-config.php-fil. Leta efter följande rad och se till att den inte kommenteras:

 definiera ('DB_CHARSET', 'utf8'); 

För det andra måste du kontrollera om ditt tema använder teckenuppsättningen som är inställd i wp-config.php-filen. Leta efter följande rad i din HTML:

Slutligen måste du kontrollera att ditt databasinnehåll lagras med samma teckenuppsättningskodning som du använder i din wp-config.php-fil och HTML. Om du använder phpMyAdmin för att hantera din databas kan du se den aktuella serverkollationen i Allmänna inställningar.

Att ändra teckenuppsättningen av fullständig WordPress-databas är inte en lätt uppgift och bör göras med stor omsorg. Här är stegen för att konvertera en databas till din karaktärsuppsättning.

1. Först måste vi kolla nuvarande teckenuppsättning i databasen. Här är SQL-frågan för att kontrollera:

 VIS VARIABLES LIKE "character_set_database"; 

2. Om teckenuppsättningen inte är vad du vill ska du ta en säkerhetskopia av din databas innan du fortsätter vidare.

3. Kör följande SQL-fråga för att ändra characateruppsättningen med den kompletta databasen:

 ALTER DATABASE MyDb CHARACTER SET utf8; 

Ändra "MyDB" till namnet på din databas.

4. Omvandla nu "wp-posts" -tabellen till den teckenkodning du vill ha:

 ALTER TABLE wp_posts CHARACTER SET utf8; 

Ändra "wp_" om du använder ett annat prefix.

Dessa steg tar bort frågetecknen eller andra konstiga tecken och kommer istället att visa rätt främmande tecken. Om du har många kolumner i WordPress-databasen som är inställda på anpassade teckenuppsättning måste du ändra teckenuppsättningen för varje kolumn en efter en.

Eftersom UTF-8 är den vanligaste teckenkoden, om din blogg använder någon annan teckenkodning och du vill ändra den till UTF-8, kan du använda plugin som heter UTF-8 DB Converter. Även om det inte har uppdaterats under ganska lång tid, kommer det att kunna göra sin uppgift effektivt. Observera att om du har en stor databas tar det lång tid att konvertera teckenuppsättningen.

Berätta om din erfarenhet om du har samma problem.