Używamy MySQL w firmie, w której pracuję, i budujemy zarówno aplikacje klienckie, jak i wewnętrzne przy użyciu Ruby on Rails.
Kiedy zacząłem tu pracować, napotkałem problem, z którym nigdy wcześniej się nie spotkałem; baza danych na serwerze produkcyjnym jest ustawiona na Latin-1, co oznacza, że klejnot MySQL zgłasza wyjątek za każdym razem, gdy użytkownik wprowadza dane, w których użytkownik kopiuje i wkleja znaki UTF-8.
Mój szef nazywa te „złe postacie”, ponieważ większość z nich to postacie, których nie można wydrukować, i mówi, że musimy je usunąć. Znalazłem kilka sposobów, aby to zrobić, ale ostatecznie znaleźliśmy się w sytuacji, w której potrzebna była postać UTF-8. Dodatkowo jest to trochę kłopotliwe, zwłaszcza, że wydaje się, że jedynym rozwiązaniem, o jakim kiedykolwiek czytałem w tym temacie, jest ustawienie bazy danych na UTF-8 (ma to dla mnie sens).
Jedyny argument, który słyszałem za utrzymywaniem Latin-1, polega na tym, że zezwolenie na niedrukowalne znaki UTF-8 może zepsuć wyszukiwania tekstowe / pełnotekstowe w MySQL. Czy to naprawdę prawda?
Czy istnieją inne powody, dla których warto używać Latin-1 zamiast UTF-8? Rozumiem, że jest lepszy i staje się coraz bardziej wszechobecny.