Före Unicode-standarden , som använder specialtecken eller bokstäver från främmande språk betydde växla mellan flera olika teckenuppsättningar . Bekvämligheten är dock till föga nytta för dig om din PHP-skript kommer inte visas korrekt text som är formaterad med Unicode eller din MySQL-databas inte kommer att acceptera Unicode text . Ändra dina formatering konfigurationer kommer att lösa dessa frågor . Problemets natur
Unicode : s system för teckenkodning är inte komplicerad : ett snedstreck och ett " u " föregå en serie bokstäver och siffror som motsvarar en specifik karaktär . Men om din PHP-skript inte förväntar UTF - 8 formatering så PHP visas antingen den faktiska Unicode-kodning eller en rad frågetecken . Du kan lösa problemet genom att ställa in din PHP-skript för att använda UTF - 8 formatering .
Ställa MySQL att acceptera UTF - 8
Eftersom PHP körs från HTML-webbsidor , dess standardformateringen kommer från en av två källor: . serverns htaccess eller HTML på webbsidan själv . Du kan göra HTML- sidor i din server default till UTF - 8-kodning genom att raden " ForceType ' text /html ; charset = UTF - 8 ' " i sin htaccess . . Om du bara vill använda UTF - 8 formatering på en viss sida , då kan du lägga till raden " ; . " mellan ingående och utgående taggar
på toppen av din HTML -fil Addera ditt PHP Acceptera Unicode
p Om du bara vill använda Unicode formatering för resultatet från din MySQL-databas , men en annan kodning format för resten av din PHP-skript , kan du ställa in din mySQL Query objekt att använda UTF - 8 formatering för dina frågeresultat . Du kan göra detta genom att skicka strängen " set character_set_results = ' utf8 ' " som ett argument i din MySQL Query objekt innan du hämtar data från tabellen .
Icke - Unicode MySQL Utgång
Om du försöker att skriva Unicode - formaterad text till en mySQL tabell som använder en annan kodning system , då får du ett felmeddelande och insatsen operationen kommer att misslyckas . Du kan ändra en befintlig MySQL tabell formatering genom att köra en " alter " kommandot med åtgärden " charset = utf8 " för databasen , tabell och eventuella nödvändiga kolumner . Till exempel , syntax " ALTER TABLE my - table charset = UTF8L ; " skulle ställa en tabell med rubriken " my - table " till UTF - 8 formatering
.