Important: Cette page utilise des cookies (cookies). L'utilisation de ce site web sans avoir à éteindre les cookies dans le navigateur, cela signifie que vous êtes d'accord pour l'utiliser.
Achetez! Caractéristiques Téléchargements

Gagnez avec nous!

Si vous souhaitez commencer à gagner de l'argent avec vBET jointure à Programme d'affiliation.
Page 2 des 2 FirstPremier 12
Résultats 11 à 15 des 15

Discussion: Accents ne s'affiche pas correctement ...

  1. #11
    Membre Junior
    Date d'inscription
    Février 2011
    Messages
    9

    Default

    Quote Envoyé par kamilkurczak View Post
    oui. Je peux le confirmer sur mon forum de test!
    C'est un bug vBET j'ai donc besoin de se déplacer ce fil dans la section rapport de bug.

    J'ai remarqué qu'il ya un problème de codage avec des lettres avec le code ASCII sous un

    Je peux le reproduire sur mon forum de test afin que je puisse le réparer sans avoir accès à votre forum

    Je vais essayer de trouver la meilleure solution pour vous.
    Eh bien les bonnes nouvelles sont que je me suis résolu le problème. Les mauvaises nouvelles sont que je ne peux pas confirmer que cette solution fonctionne comme une fonction de remplacement ... car il ne fonctionne que sur mon forum.

    Quoiqu'il en soit, voici la nouvelle fonction:

    PHP Code:
    function vbet_encodeToSafeUTF8(&$string) {

         
    $string utf8_decode($string);           
         return 
    $string;

    Cette fonction convertit en UTF-8 ISO-8859-1

  2. #12
    vBulletin Enterprise Translator (vBET) Personnel
    Date d'inscription
    Mai 2010
    Messages
    1,000

    Default

    merci pour ces bonnes nouvelles. Je vais le tester et confirmer

  3. #13
    vBulletin Enterprise Translator (vBET) Personnel
    Date d'inscription
    Mai 2010
    Messages
    1,000

    Default

    bonjour,
    Votre solution n'est pas bon en général. Pourquoi? C'est travailler avec les lettres avec le code ASCII sous 256 (convertis et affichés bien), mais les lettres avec le code ASCII de plus de 256 que j'ai "?" signes.

    Nous avons donc besoin de combiner nos deux solutions en une seule

    Par exemple:
    PHP Code:
    function vbet_encodeToSafeUTF8(&$string) {
            
            
    $string preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',        
                    
    '\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',    
                    
    $string); 
         
            
    //decode two byte unicode characters 
            
    $string preg_replace('/([\304-\337])([\200-\277])/e'
                    
    '\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\''
                    
    $string); 
            
            
    $string utf8_decode($string);            
            
            return 
    $string;
        } 
    cette ligne:
    PHP Code:
    [\304-\337
    définir que les lettres avec le code ASCII sous 256 ne sera pas décodé par ma fonction, mais seulement par
    PHP Code:
    utf8_decode 
    Je suis le tester still.I ne suis pas entièrement sûr que tout fonctionne correctement maintenant.
    Vous pouvez le tester aussi!

  4. #14
    Membre Junior
    Date d'inscription
    Février 2011
    Messages
    9

    Default

    Pour ma part, la solution fonctionne très bien ... que je suis seulement de traduire en deux langauges ... Anglais et en français. Les deux sont certifiés ISO-8859-1 (latin1) langues. Par conséquent, le «utf_decode" fonctionne très bien.

    Cependant, avec une portée globale en vue, la fonction utf_decode ne fonctionnera probablement pas pour les autres langues en dehors de "latin1".

    Je ne suis pas beaucoup plus d'un programmeur vbulletin. Cependant, je vais proposer une suggestion:

    Peut-être en utilisant un "if" peuvent convenir à vos besoins mieux si votre solution ne fonctionne pas. Dans l'exemple ci-dessous, le "translated_language_var» serait la langue de destination pour traduire.

    IE:
    PHP Code:
    $latin1 = array(English,French,Spanish,Italian....etc);

    if (
    in_array(translated_language_var,$latin1)){

      
    $string utf_decode($string);

    }else{
      
      
    original solution;
    }

    return 
    $string
    Peut-être en utilisant quelque chose comme ce serait une méthode sûre pour tout garder en toute sécurité ...??? Je suis sûr que vous pourriez facilement utiliser ce code pseudo et le faire fonctionner pour vBulletin.
    Dernière édition par le freddie3218; 14-03-11 au 05:12.

  5. #15
    vBulletin Enterprise Translator (vBET) Personnel
    Date d'inscription
    Mai 2010
    Messages
    1,000

    Default

    résolu - seront inclus dans la prochaine relase

Page 2 des 2 FirstPremier 12

Tags pour ce sujet

Règles des messages

  • Vous ne peut pas créer de nouvelles discussions
  • Vous ne peut pas réponses après
  • Vous ne peut pas pièces jointes après
  • Vous ne peut pas modifier vos messages
  •