Chcete změnit poskytovatele webhostingu nebo převést stránky na nový server ? Teoreticky je to jednoduché, zkopírujete všechny soubory přes FTP, vyexportujete databázi v phpMyAdmin a naimportujete soubor na novém serveru.
Ale pokud máte ještě starou MySQL databází v kódování latin2 a na novém serveru máte databázi v UTF-8, nastane problém s kódováním češtiny. V lepším případě budete mít místo znaků „š“ a „ž“ otazníky, v horším případě to bude „rozsypaný čaj“.
A řešení ? V podstatě je jednoduché.
Změním výchozí znakovou sadu a porovnání databáze na stejné hodnoty jako má původní databáze. To zjistím příkazem SHOW VARIABLES LIKE „character_set_database“ a show variables like „collation_database“
např.: ALTER DATABASE `xxxxxx` DEFAULT CHARACTER SET latin2 COLLATE latin2_general_ci
Ale pozor, databáze musí být před provedením změny znakové sady prázdná.
- Vyexportuji přes phpMyAdmin všechny tabulky v UTF-8 do souboru import.sql
- Uploadnu soubor import.sql na server
- Změním v souboru všechny výskyty znakové sady latin2 v příkazu create table
na linuxu: sed „s/CHARSET=latin2/CHARSET=utf8/g“ import.sql > import2.sql - Naimportuji soubor import2.sql přes příkaz mysql …, přihlásím se k MySQL serveru, přepnu na databází „use [databáze]“,nastavím znakovou sadu připojení k MySQL na UTF=8 „set names utf8;“ a provedu soubor (source import2.sql)