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. Query per sostituire caratteri errati: possibile?
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • G
      grandediplomatico User Attivo • ultima modifica di

      Query per sostituire caratteri errati: possibile?

      Salve, recentemente ho cambiato provider hosting affidandomi ad una società americana. Ho riscontrato un problema con il database, più precisamente con il charset con cui è stato caricato che mi interpretava le lettere accentate con caratteri non UTF.
      Ora mi trovo il database con tutte le lettere accentate sballate. Mi è stato detto che loro non possono occuparsene, quindi teoricamente dovrei sostituire carattere per carattere tutte le lettere incorrette, il che, trattandosi di un database di oltre 70 Mb, non è fattibile da un essere mortale.

      Mi chiedevo quindi se era possibile creare una query tramite PhpMyAdmin in modo che le lettere accentate si venissero a sostituire alle lettere sbagliate, esempio:

      Ã?¬ sostituisci con ì
      Ã?¹ sostituisci con ù
      Ã?¨ sostituisci con è
      Ã?© sostituisci con é
      Ã?² sostituisci con ò

      C'è un modo?
      Nel caso non fosse possibile... beh... non voglio neanche pensarci.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • samyorn
        samyorn Consiglio Direttivo • ultima modifica di

        Ciao The_Lord_of_Diplomacy 🙂

        Così a primo acchitto mi vien in mente di fare un SELECT salvando tutti i campi di una tabella in un array
        in altri due array ti memorizzi, in pari ordine, i caratteri da sostituire e quelli con cui sostituirli
        e poi procedi con la funzione str_replace()
        CREDO dovrebbe andare 😉
        Facci sapere se risolvi 😉

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • G
          gorka Super User • ultima modifica di

          Io prima proverei ad estrare in dati e visualizzarli in PHP con utf8_decode
          puoi così evitarti di cambiare tutto e lasci i dati in utf8

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • G
            grandediplomatico User Attivo • ultima modifica di

            Grazie intanto per le risposte. Perdonatemi ma avrei bisogno di istruzioni più specifiche per entrambe le soluzioni. Non sono espertissimo in questo campo.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              Dovresti fare un select con WHERE like i simboli e ciclarli facendo un update

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • H
                hightechware User Newbie • ultima modifica di

                direi che esiste una strade nettamente più semplice con una query SQL:

                update nome_tabella set nome_campo = replace(nome_campo, 'à', 'à');

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  armando33 User • ultima modifica di

                  Riprendo questo vecchio post in quanto ho lo stesso identico problema del topic.
                  Anche a me il provider dopo un ripristno del database ha 'aggiunto' dei caratteri nel mio caso il backslash () in tutti i post con dei link, ecco un esempio:
                  Le foto sono di <a href="flickr.com/photos/bousserez/">Vincent Bousserez</a>.

                  ho provato con questa query ma mysql mi trova sempre da dire:
                  UPDATE wp_posts SET post_content= replace(post_content,'','');

                  Qualcuno mi puo' aiutare? ringrazio anticipatamente

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • marcocarrieri
                    marcocarrieri ModSenior • ultima modifica di

                    Che tipo di errore ti da?
                    La stringa esatta del database qual'è?
                    Da sostituire con?

                    0 Miglior Risposta Ringrazia Cita Rispondi

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

                      Usa stripslashes().

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • A
                        armando33 User • ultima modifica di

                        @tigrone said:

                        Usa stripslashes().
                        Esatto, ieri sera ho provato un po' a studiare in questo mondo per me complicato e anch'io ho trovato questo comando ma non riesco ad usarlo direttamente sul database.
                        Conosci uno script php ad hoc che faccia una cosa del tipo 'rimuovi tutti i \ che trovi nei campi xx delle tabelle xx del database xx' oppure il comando diretto da usare in SQL ?
                        Grazie in anticipo e scusa il linguaggio elementare.

                        0 Miglior Risposta Ringrazia Cita Rispondi

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

                          Ma perchè li vuoi eliminare dal db?
                          E' giusto che stiano lì.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • A
                            armando33 User • ultima modifica di

                            Il motivo è scritto pochi post sopra.
                            Comunque ho risolto cosi' direttamente sul database

                            UPDATE wp_posts SET post_content=REPLACE(post_content, '\', '')

                            Grazie e ciao

                            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