• User

    Campo di ricerca con lettere accentate

    Ciao a tutti,
    ho un piccolo interrogativo...
    nel sito che sto gestendo, c'è un piccolo form di ricerca il quale richiama un js di questo tipo:

    google.load("elements", "1", {packages: "transliteration"});

    Tutto funziona bene, ma se cerco per esempio la parola qualità la pagina dei risultati non mostra nemmeno un risultato.

    Se al contrario cerco qualita' mi vengono mostrati una grande quantità di risultati (con la à e non con la a'!!!!). Qualcuno mi sa spiegare il perchè e come eventualmente risolvere questo problema?

    Grazie mille.


  • User

    Nessuno ha qualche idea? Forse non è chiaro il problema?


  • User Attivo

    Dovresti dare qualche informazioni in più.


  • User

    Dunque un pò di informazioni aggiuntive sul problema, tuttora insoluto...

    Il form di ricerca presente nel sito è così definito:
    <div id="searchbox">
    <form action="searchresults" id="cse-search-box">
    <input type="hidden" name="cx" value="005789517921611969135:yougotsi2gk" class="hid" />
    <input type="hidden" name="cof" value="FORID:11" class="hid" />
    <input type="hidden" name="ie" value="UTF-8" class="hid" />
    <span class="searchtxt"><input type="text" name="q" size="18" /></span>
    <span class="searchbtn"><input type="submit" name="sa" value="Cerca" /></span>
    </form>

    Il motore della ricerca è fornita da google/cse.
    Altra cosa strana è che il sito sul mio server locale su XAMPP funziona perfettamente e la ricerca mi fornisce anche le parole accentate, mentre sul sito reale (che teoricamente è identico) se cerco parole accentate il risultato è una pagina bianca.

    Ho scritto nel blog di google e un utente mi ha risposto:
    Specify UTF-8 encoding on your search page.
    You can specify UTF-8 encoding by adding this
    meta-tag in the <head> section of the page:

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

    (Since that will specify UTF-8 encoding for the entire search page, you may need to edit some of your text to conform to this
    encoding.)

    (A possible alternative would be to specify the encoding in the accept-charset attribute of the form; but unfortunately that may not have
    the desired effect in Internet Explorer.)

    Purtroppo però sia il form di ricerca che la pagina web sono già codificate in UTF-8:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    Insomma sembra un problema esoterico...


  • User Attivo

    Se la pagina è in PHP, potresti provare a specificare la codifica tramite la funzione header all'inizio della pagina:
    [php]header('Content-Type: text/html; charset=utf-8');[/php]


  • User Attivo

    Più che utf-8 userei iso-8859-15... o comunque convertire i caratteri speciali in formato html, ad esempio la funzione htmlspecialchars di php o encodeURI in javascript