Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085

    strtoupper .. non funziona per le vocali accentate

    Ciao ..
    qualcuno mi sa dire perchè nell'host dove ho caricato il progetto (unix), a differenza di quanto avviene in locale, le vocali accentate non vengono trasformate in maiuscolo ?
    Grazie mille

  2. #2
    sarà un problema di codifica... prova

    Codice PHP:
    $str "èèòà";
    $str mb_strtoupper($str'UTF-8');
    echo 
    $str
    output:
    codice:
    ÈÈÒÀ

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085
    e dovrei modificare tutte le 'conversioni' !?
    non c'è un comando che possa valere per tutti i casi ?
    Grazie

  4. #4
    non conosco la soluzione allo specifico problema, ma se il problema è modificare tutte le chiamate a strtoupper (e quanto saranno poi?? ma vabbeh) potresti fare una funzione "globale" tipo

    Codice PHP:

    function cToUpper($str$code='UTF-8'){

       return 
    mb_strtoupper($str,$code);

    poi prendi il tuo bell'editor/ide e fai un bel FIND & REPLACE e converti "strtoupper" con "cToUpper"
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    find & replace... che ci vuoi...

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085
    Ma non è che il problema è legato al DB (mysql) ?
    ho importato un file dove ad esempio viene riportato la seguente anagrafe:

    codice:
    CARÈ
    e nel DB mi ritrovo:

    codice:
    CAR?
    Nel DB mi ritrovo ..


    • Set di caratteri MySQL: UTF-8 Unicode (utf8)
    • collazione della connessione di MySQL: UTF8_unicode_ci

  7. #7
    ricordati di forzare il charset anche nel client mysqli quando apri la connessione: http://php.net/manual/en/mysqli.set-charset.php
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1,085
    scusa .. cos'è che dovrei modificare ? :-)
    .. non ho capito granchè ! :-(

    Codice PHP:
    // ------------- apertura DB                                                             
    $db_host "...........";                                                                
    $db_user "root";                                                                       
    $db_password ".........";                                                              
    $db_name "........";                                                                   
                                                                                             
    // -- connessione                                                                        
    $db mysql_connect($db_host$db_user,$db_password) ;                                   
    if (
    $db == FALSE)                                                                        
      die (
    "Connessione fallita:  ".mysql_error(). " - errore sql: ".mysql_errno());         
                                                                                             
    // -- apertura                                                                           
    mysql_select_db($db_name$db)                                                           
     or die (
    "Errore in apertura database: ".mysql_error()." - errore sql: ".mysql_errno()); 

  9. #9
    Codice PHP:

    // ------------- apertura DB                                                             
    $db_host "...........";                                                                
    $db_user "root";                                                                       
    $db_password ".........";                                                              
    $db_name "........";                                                                   
                                                                                             
    // -- connessione                                                                        
    $db mysql_connect($db_host$db_user,$db_password) ;                                   
    if (
    $db == FALSE)                                                                        
      die (
    "Connessione fallita:  ".mysql_error(). " - errore sql: ".mysql_errno());         
     
    mysql_set_charset('utf8',$db);
                                                                                           
    // -- apertura                                                                           
    mysql_select_db($db_name$db)                                                           
     or die (
    "Errore in apertura database: ".mysql_error()." - errore sql: ".mysql_errno()); 
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    ricordati anche che il charset d'essere coerente e ben definito in ogni dove.

    Connessione database
    Codice PHP:
    mysql_set_charset('utf8',$db); 
    Html
    codice:
    <meta content="text/html; charset=utf-8" http-equiv="content-type">
    
    <meta charset="utf-8">


    e naturalmente quando salvi un file con il tuo ide, stai attento a salvarlo utf-8.




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.