Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Funzione per codifica utf-8
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • F
      fabrizioco User Newbie • ultima modifica di

      Funzione per codifica utf-8

      Questo articolo spiega come gestire un sito con la codifica utf-8
      nolatino.com/progettazione-siti-web-php/php-mysql/creare-un-sito-multilingue-risolvendo-i-problemi-di-codifica-dei-caratteri.htm.

      Si dice di filtrare tutte le stringhe non numeriche che provengono da moduli in questa funzione

      // FUNZIONE CHARSET PER CONVERTIRE DATI INVIATI DAGLI UTENTI
      function utf8_to_unicode( $str ) {

      $unicode = array();
      $values = array();
      $lookingFor = 1;

      for ($i = 0; $i < strlen( $str ); $i++ ) {

      $thisValue = ord( $str[ $i ] );

      if ( $thisValue < 128 ) $unicode[] = $thisValue;
      else {

      if ( count( $values ) == 0 ) $lookingFor = ( $thisValue < 224 ) ? 2 : 3;

      $values[] = $thisValue;

      if ( count( $values ) == $lookingFor ) {

      $number = ( $lookingFor == 3 ) ?
      ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 😞
      ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 );

      $unicode[] = $number;
      $values = array();
      $lookingFor = 1;

      }

      }

      }

      return $unicode;

      }

      Secondo voi è corretto? La funzione ritorna un array, come devo fare per leggerlo?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • C
        ceccus User Attivo • ultima modifica di

        Ciao FabrizioCo,
        occhio e croce credo sia corretta. Per usarla è sufficiente, ad esempio, fare un ciclo foreach sull'output:

        $out = utf8_to_unicode('amo il php');
        foreach ($out as $val)
        echo $val."-";

        che ti restituisce i valori unicode delle lettere della stringa, separati nell'esempio dal trattino (-).

        :ciauz:

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • F
          fabrizioco User Newbie • ultima modifica di

          [..]

          Grazie!

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          Caricamento altri post
          Rispondi
          • Topic risposta
          Effettua l'accesso per rispondere
          • Da Vecchi a Nuovi
          • Da Nuovi a Vecchi
          • Più Voti