Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di emu86
    Registrato dal
    May 2005
    Messaggi
    324

    problema lettere accentate maiuscole

    ciao a tutti... vorrei sapere come trasformare le lettere accentate (tipo è, à etc...) in maiuscole... con strtoupper() non me le trasforma in maiuscole... me le lascia minuscole... c'è qualche altra funzione per la trasformazione? Grazie mille

  2. #2
    Codice PHP:
    $str str_replace("è""È"$str);
    $str str_replace("é""&Eacute"$str);
    $str str_replace("à""À"$str);
    $str str_replace("ì""Ì"$str);
    $str str_replace("ù""Ù"$str);
    $str str_replace("ò""Ò"$str); 
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it L'avatar di emu86
    Registrato dal
    May 2005
    Messaggi
    324
    Codice PHP:
    $str strtoupper($_POST['nome']);
    echo 
    $str;
    $str str_replace("è""&Egrave;"$str);
    $str str_replace("é""&Eacute"$str);
    $str str_replace("à""&Agrave;"$str);
    $str str_replace("ì""&Igrave;"$str);
    $str str_replace("ù""&Ugrave;"$str);
    $str str_replace("ò""&Ograve;"$str);
    $encoded $str
    questo è il mio codice, ma quando mi viene inserito il valore sul db mi resta comunque minuscola...

    tra l'altro non effettua proprio il replace... questo è il risultato dell'elaborazione, tirato fuori dal codice html:
    Codice PHP:
    èéòàù
    èéòàù
    èéòàù 

  4. #4
    Perchè non devi inserire la parte strtoupper PRIMA delle sostituzioni, ma dopo!

  5. #5
    Utente di HTML.it L'avatar di emu86
    Registrato dal
    May 2005
    Messaggi
    324
    peccato che non cambia nulla...

  6. #6
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    questo è un esempio trovato su PHP.net, penso possa essere utile
    Codice PHP:

    <?php
    function fullUpper($str){
       
    // convert to entities
       
    $subject htmlentities($str,ENT_QUOTES);
       
    $pattern '/&([a-z])(uml|acute|circ';
       
    $pattern.= '|tilde|ring|elig|grave|slash|horn|cedil|th);/e';
       
    $replace "'&'.strtoupper('\\1').'\\2'.';'";
       
    $result preg_replace($pattern$replace$subject);
       
    // convert from entities back to characters
       
    $htmltable get_html_translation_table(HTML_ENTITIES);
       foreach(
    $htmltable as $key => $value) {
          
    $result ereg_replace(addslashes($value),$key,$result);
       }
       return(
    strtoupper($result));
    }

    echo 
    fullUpper("try this: äöüß");
    ?>

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prova ad aggiungere questa riga
    setlocale(LC_CTYPE,'it_IT');

  8. #8
    Utente di HTML.it L'avatar di emu86
    Registrato dal
    May 2005
    Messaggi
    324
    c'è un problema su quella funzione: i caratteri che vengono inseriti sul database che poi vado a leggere vengono inseriti con caratteri sbagliati... e anche se imposto il setlocale non cambia nulla...

    edit: questi sono i caratteri che mi vengono inseriti: &;&;&;&;&;

  9. #9
    Utente di HTML.it L'avatar di emu86
    Registrato dal
    May 2005
    Messaggi
    324
    uppo...

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.