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

Problemy z wstawianiem ciągu utf-8 do bazy danych, a następnie wysyłaniem go na stronę internetową

Tak, mogę.
Nie powiedziałeś serwerowi Mysql, jakiego kodowania danych chcesz.
Mysql może dostarczyć dowolne kodowanie w przypadku, gdy kodowanie Twojej strony różni się od kodowania przechowywanych danych. I przekoduj go w locie.
W związku z tym należy poinformować go o preferowanym kodowaniu klienta (Twój kod PHP jest tym klientem bazy danych).
Domyślnie jest to latin1 . Tak więc, ponieważ nie ma takich symboli w tabeli znaków latin1, zamiast tego zwracane są znaki zapytania.

Istnieją dwa sposoby, aby powiedzieć mysql, jakiego kodowania chcemy:

  • nieco bardziej preferowanym jest mysqli_set_charset() funkcja (metoda w twoim przypadku).
  • mniej preferowanym jest SET NAMES zapytanie.

Ale tak długo, jak poprawnie używasz rozszerzenia mysqli, nie ma to większego znaczenia. (choć nie jesteś)

Zauważ, że w mysql to kodowanie nazywa się utf8 , bez myślników i spacji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bazy danych:Tworzenie dziennika działań, jak obsługiwać różne referencje?

  2. Czy tabela może mieć wiele kluczy podstawowych?

  3. Grupuj MySQL według ostatniego wpisu

  4. Jak optymalnie używać COALESCE() w klauzuli WHERE?

  5. Jak usunąć zduplikowane rekordy w bazie mysql?