Mysql
 sql >> Database >  >> RDS >> Mysql

Problemi nell'inserimento della stringa utf-8 nel database e quindi nell'output nella pagina Web

Sì, posso.
Non hai detto al server Mysql, quale codifica dei dati desideri.
Mysql può fornire qualsiasi codifica nel caso in cui la codifica della tua pagina sia diversa dalla codifica dei dati archiviati. E ricodificalo al volo.
Quindi, deve essere informato della codifica preferita del client (il tuo codice PHP è quel client del database).
Per impostazione predefinita è latin1 . Pertanto, poiché non sono presenti tali simboli nella tabella dei caratteri latin1, vengono invece restituiti punti interrogativi.

Ci sono 2 modi per dire a MySQL quale codifica vogliamo:

  • uno leggermente più preferito è mysqli_set_charset() funzione (metodo nel tuo caso).
  • quello meno preferito è SET NAMES interrogazione.

Ma finché stai usando l'estensione mysqli correttamente, non importa. (anche se non lo sei)

Nota che in mysql questa codifica è chiamata utf8 , senza trattini o spazi.