Visualizzazione risultati 1 fino 2 di 2

Discussione: Encoding database

  1. #1
    Guest

    Predefinito Encoding database

    Buongiorno,
    ho un problèma con l'encoding nel database.
    Quando invio su phpmyadim una parola con un accento, questa lettera viene trasfromata (tipo é diventa é).
    Quanto la visualizzo su internet vedo bene l'accento, quindi fino a qui non avevo problemi.
    Solo che ho dovuto mettere una ricerca con autocompletamento quindi, quando cerco questa parola non la vedo nei risultati.

    Ho fatto un test con lo stesso database e gli stessi file su easyphp (in locale) e non ho questi problemi, ogni volta che invio una parola con l'accento viene registrata bene.

    Tutti i miei file sono in UTF8, il meta charset anche lui in utf-8 e ho impostato che quando invio le informazioni sono inviate in UTF8.

    A cosa è dovuto questo problema e come posso risolvere?

    Grazie mille in anticipo

  2. #2
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,899

    Predefinito

    Perchè gli accenti in utf-8 non occupano un byte, per test puoi creare un file con codifica iso-8859-1 con questi caratteri é, dopo averlo salvato forza la lettura in utf-8 (leggerai é). In sintesi la tua pagina di phpmyadmin sarà impostata in iso-8859-1 (prova direttamente con php e il header utf-8). Ma è strano perché prima ti accetta il carattere é (utf-8) poi ti converte in é (iso-8859-1) sempre da phpmyadmin ma in due pagine differenti. EDIT: Invece di effettuare un ragionamento razionale per asserzione, cioè noi dobbiamo credere che cerchiamo i byte e non i caratteri. Se si cerca é (in utf-8) o é in (iso-8859-1) sono sempre i medesimi due bytes, dunque la stessa ricerca (cambia solo la visualizzazione dei bytes)
    Ultima modifica di darbula : 03-10-2015 alle ore 14.44.26

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •