/ / Ako exportovať dáta s latin1 znakovou sadu a udržiava túto sadu znakov - mysql, unicode, utf-8, kódovanie znakov

Ako exportovať dáta s latin1 znakovou sadu a udržuje túto znakovú sadu - mysql, unicode, utf-8, kódovanie znakov

Mám databázu MySQL, v ktorej sú údaje uložené s kódovaním latin1 znakov.

Potrebujem preniesť tieto údaje do nového prostredia v rámci databázy mysql, ale s plnou podporou utf8 kódovania.

Čítal som mnoho príspevkov a nakoniec som sa rozhodoltento problém som sa rozhodol exportovať dáta s mysqldump bez špeciálneho parametra ako voľba --default-character-set. Zdá sa, že to funguje správne, ale mám o tom mnoho pochybností.

Je to správny spôsob, ako vyriešiť tento problém? Ak nie, ako môžem exportovať a importovať tieto údaje a zachovať ich pôvodné kódovanie?

Niektoré technické informácie. Musím túto migráciu vykonať prostredníctvom dvoch serverov linux Ubuntu, na ktorých je mysql vo verzii 5.6.33.

Akákoľvek pomoc je vítaná.

Ďakujem znovu, Lorenzo.

odpovede:

0 pre odpoveď č. 1

Prečo sa zaujímate, čo je uložená znaková sada? Môj názor je, že tento detail môžete skryť. Každopádne vám poviem, ako to uložiť, ak je to potrebné.

Pri exportovaní špecifikujte, aby bol súbor napísaný latin1 alebo utf8 alebo utf8mb4.

Pri importovaní najprv deklarujte, že je importovaný súbor že kódovanie.

Potom deklarujte stĺpec (y) a tabuľku (y) ako latin1 alebo utf8 alebo utf8mb4. V prípade potreby sa zaťaženie prekročí.

Všetky latin1 znaky majú zodpovedajúce utf8 / utf8mb4 / utf-8 kódovanie, takže to nebude zakopnúť vo vašom scenári.

vy mali by stavať všetky nové tabuľky s utf8mb4. Server je omeškania do utf8; vy môcť prepíšte ich vo vyhláseniach o stĺpcoch / tabuľkách.

Je správne mať deklarovaný stĺpec latin1, ale pripojiť sa s utf8mb4. Transcoding bude znova transparentný a bez straty (alebo čítania).