Visualizzazione dei risultati da 1 a 4 su 4

Discussione: MySQL e collation

  1. #1
    Utente di HTML.it L'avatar di puddu
    Registrato dal
    Mar 2001
    Messaggi
    143

    MySQL e collation

    Salve a tutti.

    Ieri il mio fornitore di hosting ha effettuato l'upgrade di MySQL alla versione 5. Da quel momento, ogni volta che provo ad inserire una news o un messaggio all'interno del guestbook, il server mi restituisce il seguente messaggio di errore: "Bad Request. Your browser sent a request that this server could not understand".
    Sono riuscito ad isolare il problema, ed ho notato che l'errore si presentava solo quando all'interno del testo digitato erano presenti delle lettere accentate.

    Informandomi un po' in giro per la Rete ho letto che probabilmente poteva essere un problema di collation del DB... e così, dopo una serie di ragionamenti anche un po' contorti , ho provato a sostituire all'interno delle pagine con i form di inserimento, la seguente riga:

    <meta http-equiv="content-type" content="text/html; charset=windows-1252">

    ... con quest'altra:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    Magicamente la cosa è tornata a funzionare.

    Ora, poiché l'applicazione di questa modifica comporterebbe un gran bel lavoraccio (dato che mi costrigerebbe persino a rivedere il codice html dei files che compongono tutti gli script di terze parti che ho implementato sul mio sito), mi chiedevo se non ci fosse un modo più semplice e veloce per ottenere lo stesso risultato evitando di modificare (o aggiungere quando non presente) il metatag di cui sopra.
    Anche perché tenete conto che con questa modifica tutte le news ed i messaggi del guestbook inseriti prima di ieri visualizzarebbero un "?" (per firefox) o un qudratino (per IE) in luogo delle lettere accentate. Diciamo che non è proprio il massimo della vita.

    Grazie in anticipo per il vostro aiuto.
    Ciao.


  2. #2
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Io uso questo piccolo parser per sostituire le lettere accentate, con i caratteri speciali HTML...da inserire quando si prende il testo da una textarea o un input...magari per modificare ciò che hai già inserito, prova a riadattarlo su uno script che prende i dati nel db e passa tutte le stringhe...spero di esser stato abbastanza chiaro...buon lavoro...ecco lo script
    Codice PHP:
    function ta2db($testo) {
            
    ereg_replace('à''&agrave;'$testo);    // Sovrascivo à con &agrave;
        
    ereg_replace('è''&egrave;'$testo);    // Sovrascivo è con &egrave;
        
    ereg_replace('é''&eacute;'$testo);    // Sovrascivo é con &egrave;
        
    ereg_replace('ì''&igrave;'$testo);    // Sovrascivo ì con &igrave;
        
    ereg_replace('ò''&ograve;'$testo);    // Sovrascivo ò con &ograve;
        
    ereg_replace('ù''&ugrave;'$testo);    // Sovrascivo ù con &ugrave;
        
    return $testo;


  3. #3
    Utente di HTML.it L'avatar di puddu
    Registrato dal
    Mar 2001
    Messaggi
    143
    Ahia... la tua risposta (a proposito, grazie mille! ) mi ha aiutato a capire un po' meglio il problema.

    Dato che anche utilizzando la funzione da te gentilmente postata le cose non sono cambiate, ho pensato di tagliare la testa al toro ed ho provato a cancellare dal server la pagina php che inseriva i dati nel DB. Cosa è successo? E' presto detto. Il browser mi restituiva "Not found" solo se nelle textarea o negli input text non c'erano lettere accentate... altrimenti continua va restituire "Bad request"!

    Insomma... a questo punto mi pare evidente che sono anche sul forum sbagliato, ma non so dove potrei postare. L'errore mi sembra dovuto ad un problema server.

    Qualcuno ha qualche idea?
    Grazie.

    Ciao.

  4. #4
    ciao puddu
    anche io ho lo stesso identico problema, credo sia dovuto ad un errore nel server di aruba (hai aruba?)
    Dovrebbe avvenire quando , attraverso una richiesta HTTP POST, si inviano caratteri non ASCII, in particolare la codifica ISO-8859-1.
    se si usa la codifica UTF-8 pare funzionare tutto.

    neanche la pagina di versione PHP funziona: http://62.149.140.65/ver.php
    ho aperto un ticket : http://assistenza.aruba.it/viewticket.php?ticket=728072

    PS per curiosità, qual'è la macchina del tuo dominio? puoi verificare, con una richiesta DNS, se corrisponde a quella del mio dominio? grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.