Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przepływ pracy UTF8 PHP, podsumowanie MySQL

  • mb_internal_encoding('UTF-8') sam nic nie robi, ustawia tylko domyślny parametr kodowania dla każdego mb_ funkcjonować. Jeśli nie używasz żadnego mb_ funkcja, to nie ma żadnego znaczenia. Jeśli tak, warto to ustawić, aby nie trzeba było przekazywać $encoding parametr za każdym razem indywidualnie.
  • IMO mb_detect_encoding jest w większości bezużyteczny, ponieważ zasadniczo niemożliwe jest dokładne wykrycie kodowania nieznanego tekstu. Powinieneś albo wiedzieć, w jakim kodowaniu jest blob tekstu, ponieważ masz na ten temat specyfikację, albo musisz przeanalizować odpowiednie metadane, takie jak nagłówki lub metatagi, w których określone jest kodowanie.
  • Korzystanie z mb_check_encoding sprawdzenie, czy blob tekstu jest prawidłowy w kodowaniu, w którym oczekujesz, że się znajduje, jest zwykle wystarczające. Jeśli tak nie jest, odrzuć go i wyrzuć odpowiedni błąd.
  • Odnośnie:

    Jeśli manipulujesz ciągami zawierającymi znaki wielobajtowe, to tak, musisz użyć mb_ funkcje, aby uniknąć uzyskania błędnych wyników. Podstawowe funkcje ciągów działają tylko na poziomie bajtów, a nie na poziomie znaków, czego zwykle potrzebujesz podczas pracy z ciągami.

  • utf8_general_ci w porównaniu z utf8_bin ma znaczenie tylko wtedy, gdy zestawianie , czyli sortowanie i porównywanie ciągów. Z utf8_bin dane są traktowane w postaci binarnej, tzn. tylko identyczne dane są identyczne. Z utf8_general_ci stosuje się pewną logikę, m.in. "é" sortuje się razem z "e", a wielkie litery są uważane za takie same jak małe.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql PHP wybierz liczbę odrębnych wartości z danych oddzielonych przecinkami (tagi)

  2. Sprawdź, czy nazwa użytkownika już istnieje w bazie danych MySQL PHP

  3. Jak dodać sortowanie do zapytania laravel

  4. Przygotowana instrukcja Mysqli (zapobieganie wstrzykiwaniu SQL)

  5. SQL do sprawdzenia, czy baza danych jest pusta (brak tabel)