Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    problema di charset e inserimento DB

    Ciao a tutti.

    Houna pagina il cui charset è impostato così:

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

    poi ho un form che passa tutte le variabili tramite post ad uno script php.

    qui eseguo il seguente codice:

    codice:
    foreach($_POST as $k => $v)
    		{
    			$add[$k] = mysql_escape_string(HtmlEntities($v));
    			if( (empty($v)) || ($v=='') )
    			{
    				$err++;
    			}
    		}
    eppure nel DB mi ritrovo tutte le lettere accentate "sbagliate"

    del tipo che mi ritrovo "Atilde" invece di "agrave"
    perchè?
    Come risolvo?
    Grazie a tutti in anticipo.

  2. #2
    up

  3. #3
    Prova a cambiare il charset del database (ovviamente prima fai un numero x molto alto di backup completi)

    E metti il corrispettivo delle pagine....

  4. #4
    non penso dipenda dal db perchè anche se stampo a video i dati del form (prima di inserirli nel db) la situazione è la stessa.

  5. #5
    davvero nesusno sa darmi una mano?
    please

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Magari dico una sciocchezza ma hai provato a scrivere htmlentities tutto in minuscolo?

  7. #7
    inutile, ho provato anche così:

    Codice PHP:
    foreach($_POST as $k => $v)
            {
                
    $add[$k] = htmlentities($_POST[$k]);
                
    $add[$k] = mysql_escape_string($add[$k]);
                if( (empty(
    $v)) || ($v=='') )
                {
                    
    $err++;
                }
            } 

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non saprei. Probabilmente è un problema del charset di mysql. Quale versioni stai usando? Dalla 4.1 in su?

    Cmq potresti provare prima tramite php ad usare la funzione utf8_decode($stringa) e vedere se risolvi così.
    http://it.php.net/manual/it/function.utf8-decode.php

  9. #9
    grazie mille, ho risolto appunto così:

    Codice PHP:
    foreach($_POST as $k => $v)
    {
        
    $_POST[$k] = htmlentities(utf8_decode($v));

    PErò continuo a non capire perchè si sia verificato questo problema, è la prima volta che mi succede.
    Ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.