Vra

Ek migreer my WordPress-blog en phpBB-forum na 'n nuwe gasheerbediener.Ek gebruik phpMyAdmin om die SQL-skrif vanaf die databasis op die vorige webwerf in te voer.

Wanneer ek die .sql-skrip met Kate oopmaak, sê dit dit gebruik UTF8 as enkodering.Wanneer ek die sql in die nuwe bediener invoer, het ek die opsie in phpMyAdmin om die enkodering te kies, waar utf8 by verstek gekies is.

Tog, wanneer ek klaar is met die invoer van die databasis, lees ek die plasingsteks direk in phpMyAdmin, en sien karakters soos "é", "ñ", ens.wat nie "vertolk" is nie en vervang is met vreemde karakters.

Ek kan sien my WordPress-installasie werk ook nie.Daar is blykbaar 'n probleem met hierdie enkodering ding, maar ek dink die probleem is in die MySQL databasis of phpMyAdmin en nie WordPress nie.

Die weergawes van MySQL is feitlik dieselfde, MySQL 5, maar 'n ander hersiening.Daar was ook geen probleem met die migreer van die forumdatabasis nie, so dit is nog vreemder...

Ek is verlore oor hoe om dit reg te stel ...Enige idees is welkom.

Was dit nuttig?

Oplossing

Het jy al probeer toe te voeg

SET NAMES 'utf8';

om jou sql dump?

Die ding met utf8 of coderingen in die algemeen is dat ten einde suksesvolle te wees, moet jy seker maak dat:

  • die lêer word geïnkripteer utf8 sonder handtekening
  • die verstek enkodering van die MySQL bediener is ingestel op utf8
  • die verbinding is utf8 (dis hoekom jy sit SET NAME 'utf8 "in jou SQL-lêer).
  • Alle tabelle en kolomme het die reg enkodering en charset
  • al jou webfiles moet UTF8 geïnkripteer as well. En dit nie werk om net by te voeg die korrekte opskrif. Jy moet die lêer oop te maak, kyk of die enkodering is utf8, indien nie, sny alles, verander die enkodering om utf8 en plak alles terug. Dit werk nie, as jy net die enkodering die lêer verander en te red!

Ander wenke

Baie dankie vir jou antwoorde.Ek het die oplossing gevind, en ek voel regtig dom om dit nie tevore te besef nie.Alles was veronderstel om goed te werk:

-File is met UTF8 -tafels gekodeer met UTF8:

SET character_set_client = utf8;
-MYSQL Server is met UTF8 ens gekonfigureer.

Wat ek in die eerste plek nie besef het nie, is dat ek 'n databasisrugsteun van cPanel se rugsteunassistent gebruik het.Sodra ek dit besef het, het ek phpMyAdmin op die ou bediener gebruik om die databasis uit te voer, dit in die nuwe bediener ingevoer, en presto, probleem opgelos.

phpMyAdmin verstaan ​​phpMyAdmin beter as cPanel :P Blykbaar voer cPanel die script uit sodat dit met cPanel self ingevoer kan word.Dit sou heel waarskynlik ook gewerk het, maar ek vertrou phpMyAdmin beter.

Baie dankie vir jou antwoorde egter.

Ek het net oor dieselfde probleem, want ek geworstel met dit vir ongeveer 'n uur en dit gebreek baie van my webwerwe, Ek het gedink ek wil kyk om te sien of enigiemand anders sukkel met dit en plaas 'n oplossing: Die oplossing eenvoudig is om die invoer karakter stel op die invoer spesifiseer.

As jy toegang SSH het jou gasheer, eerste weer daal al jou tafels in 'n nuwe databasis weer, dan loop hierdie opdrag in die SSH sessie (met die aanvaarding van jou ou stortingsterrein lêer is olddatabase.dump.sql ):

$ mysql h gasheer -U username p wagwoord ---default-karakter stel = utf8 databasis

Dit is die eenvoudigste en mees eenvoudige manier om die probleem op te los.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top