2015-04-28 8 views
5

pracuję na miejscu lokalnie i po wdrożeniu do serwera mojego klienta natknąłem błęduProblem z układaniem, czy można zmniejszyć/przekonwertować z utf8mb4_unicode_ci na utf8_general_ci?

MySQL powiedział: Documentation

„# 1273 - Unknown zestawień: 'utf8mb4_unicode_ci'

MySQL Error

Po dużo kopania wiem, że to wersja MySQL związanych mój lokalny MySQL jest 5,5, podczas gdy serwer jest 5.1, które nie obsługuje utf8m b4_unicode_ci. Niestety, nic nie mogę zrobić, aby zaktualizować wersję serwera MySQL.

Moje pytanie brzmi: czy istnieje możliwość przekonwertowania bieżącej bazy danych na coś, co będzie obsługiwane przez MySQL 5.1?

+0

Jeśli masz pewność, że używasz tylko znaków zawartych w utf8, możesz znaleźć i zamienić odniesienia do utf8mb4 w pliku tekstowym sql. Zrobiłem to podczas przenoszenia tabeli z bazy danych hostowanej w mysql 5.5 do innego przy użyciu mysql 5.1. Użyłem polecenia 'sed -i 's/utf8mb4/utf8/g' my_table.sql' – Reflexorozy

+0

To przydatny, zapamięta to na następny raz (zobaczyłem to za późno) – ChiWaiLi

Odpowiedz

3

"Tymczasem", 5.1 ma CHARACTER SET utf8 COLLATE utf8_unicode_ci.

Jest to zgodne z utf8mb4 tym, że utf8 jest podzbiorem utf8mb4. Niektóre chińskie znaki, niektóre emotikony i inne rzeczy są niedostępne w utf8. W przeciwnym razie dwa zestawy znaków i sortowania działają identycznie.

utf8mb4 został po raz pierwszy dodany do wersji 5.5.3 w marcu 2010 r. Poleć aktualizację.

+0

To zrobiło sztuczkę @Rick, dziękuję. Musiałem posprzątać kilka chińskich znaków tu i tam, zbyt długo, ale przynajmniej działa. Chciałbym uaktualnić serwer, ale utknąłem w firmie hostingowej klienta, który odmawia ewolucji. – ChiWaiLi