Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Salvare in Database, entità
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      mirkoagrati User Attivo • ultima modifica di

      Ciao talkoman,
      succede che ti cambia i caratteri perchè in realtà vengono inviati con il charset iso-8859.

      Quando ricevi i dati negli script PHP prova ad utilizzare la funzione
      utf8_encode().

      qui puoi trovare le informazioni che ti servono:
      us2.php.net/manual/en/function.utf8-encode.php

      Ciao

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        talkoman User Attivo • ultima modifica di

        Ciao ho provato ad usare la funzione che mi hai consigliato.
        Se inserisco la è, viene fuori questo scarabocchio:

        A video: �¨
        Su DB: �¨

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • M
          mirkoagrati User Attivo • ultima modifica di

          Ciao,
          mi pare proprio molto strano.

          Potrei capire a video, ma se te dici che il DB di aruba è UTF-8 adesso dovrebbe proprio vedersi corretto quel carattere.

          Io le utilizzo e funzionano correttamente.

          Prova a vedere che non sia il tuo browser per caso ad essere configurato con una codifica strana, cioè che i tuoi dati non siano inviati con un charset differente dall'iso-8859-1.

          Ciao

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            talkoman User Attivo • ultima modifica di

            @mirkoagrati said:

            Prova a vedere che non sia il tuo browser per caso ad essere configurato con una codifica strana, cioè che i tuoi dati non siano inviati con un charset differente dall'iso-8859-1

            Come faccio?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • M
              mirkoagrati User Attivo • ultima modifica di

              Ciao,
              solitamente è nel menù visualizza->carattere dei browser.

              Io utilizzo FF ed è la voce 'codifica caratteri' del menù visualizza.

              Ciao

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                talkoman User Attivo • ultima modifica di

                Si ma io ho provato da:

                • IE 8 su WIN
                • FF su Mac
                • Chrome su WIN
                • Safari su Mac

                Succede la stessa cosa da tutti e 4 i browser...

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • M
                  mirkoagrati User Attivo • ultima modifica di

                  Ciao,
                  continua ad esserci qualcosa che non torna.

                  Direi sicuramente lato server, a questo punto.

                  Bho,
                  per tagliare la testa al toro puoi provare a trasformare tutti quei caratteri in entità HTML con la funzione:
                  [PHP]string htmlentities ( string $string [, int $quote_style = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )[/PHP]

                  Ciao

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    talkoman User Attivo • ultima modifica di

                    Mi succede anche un'altra cosa strana...
                    Ho due pagine.
                    Tutte e due così impostate:

                    [HTML]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
                    <head>
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />[/HTML]

                    In una vedo la à così: à
                    E nell'altra la vedo così: Ã

                    Ho controllato da codice e entrambe risultano essere scritte "à" e non "à"

                    Le due pagine si trovano sempre sullo stesso server Aruba...

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • M
                      mirkoagrati User Attivo • ultima modifica di

                      Allora prova a mettere tutte e 3 in utf-8 ed in tutte e tre prova a rimuovere l'attributo 'lang=' nella dichiarazione dell'elemento <html>.

                      Almeno dovrebbero comportarsi tutte nello stesso modo.

                      Così da lavorare su una sola pagina per sistemarle tutte e tre.

                      Ciao

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • T
                        talkoman User Attivo • ultima modifica di

                        Ok ma come faccio a risolvere 😞

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • M
                          mirkoagrati User Attivo • ultima modifica di

                          Ciao,
                          ho riflettuto un attimo sul tuo problema,
                          in particolare sulla questione dell'encoding in UTF-8:

                          così, da un'analisi a spanne ho il dubbio che il DB non sia in UTF-8.

                          Per testare questa possibilità anzichè utilizzare utf8_encode prova ad utilizzare la utf8_decode.

                          Se fosse come ho pensato dovrebbe funzionare così:
                          la request (browser <-> PHP) è codificata in UTF-8 (corretto, ormai è standard) e i dati li decodifichi (utf8_decode) in ISO-8859 prima dell'inserimento nel DB.
                          A questo punto dovresti vedere correttamente i dati in tabella, ma non nelle pagine PHP se prima non li codifichi in UTF-8 (utf8_encode).

                          Ciao

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • T
                            talkoman User Attivo • ultima modifica di

                            Quindi la procedura da fare è la seguente?

                            • Prima di inserire i dati nel DB faccio
                              [PHP]utf8_decode($tringa)[/PHP] e la metto nel DB

                            Poi per leggere dal DB faccio

                            [PHP]utf8_encode($tringa)[/PHP]

                            Correggimi se sbaglio

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • M
                              mirkoagrati User Attivo • ultima modifica di

                              Esatto,
                              proprio quello che volevo spiegarti.

                              E' da prendere con le pinze,
                              ovvero è il risultato di miei ragionamenti senza aver visto codice.

                              Prova e fammi sapere.

                              Ciao

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • T
                                talkoman User Attivo • ultima modifica di

                                FUNZIONAAAAA!!!! Anche se quando leggo dal DB non metto encode_uft8()

                                Ma per l'invio delle email con la funzione mail() per evitare che arrivino caratteri strani agli utenti, come devo fare? Sapresti aiutarmi anche lì?
                                Grazie di tutto 😉

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • M
                                  mirkoagrati User Attivo • ultima modifica di

                                  Dunque,
                                  la prima cosa da fare è avvisare quelli di Aruba (se è vero quello che hai letto e hai postato) che il loro DB non è UTF-8.

                                  Poi per l'invio di email è ormai la solita minestra:
                                  prova a giocare con queste due funzioni.

                                  Comunque, se invii le mail in formato HTML potresti dare per scontato che è come aver a che fare con un browser, e quindi saresti già a posto.

                                  Ciao e buon lavoro

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • T
                                    talkoman User Attivo • ultima modifica di

                                    L'ho dedotto io che il database è in UTF-8 da qui:

                                    [URL=http://img29.imageshack.us/i/immagine2xf.png/]image

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • M
                                      mirkoagrati User Attivo • ultima modifica di

                                      manca il link

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • T
                                        talkoman User Attivo • ultima modifica di

                                        C'è l'immagine...

                                        image

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • M
                                          mirkoagrati User Attivo • ultima modifica di

                                          Aiuto,
                                          mi sono rincoglionito:

                                          non vedo ne link ne immagini.

                                          :fumato:

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • T
                                            talkoman User Attivo • ultima modifica di

                                            Non ci sei più riuscito a vedere l'immagine?

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti