Importante: Esta página é o uso de cookies (cookies). Usar este site sem desligar os cookies no navegador, significa que você concorda em utilizá-lo.
Comprar! Características Downloads

Ganhar com a gente!

Se você gostaria de começar a ganhar dinheiro com o BB se unem para Programa de afiliados.
Página 2 de 2 FirstPrimeiro 12
Resultados 11 para 15 de 15

Thread: Acentos não exibir corretamente ...

  1. #11
    Membro Junior
    Registrado em
    Fevereiro 2011
    Posts
    9

    Default

    Quote Postado Originalmente por kamilkurczak View Post
    Sim. Posso confirmar isso em meu fórum de teste!
    Este é um bug vBET então eu preciso para mover esta discussão na seção de relatórios de bugs.

    Notei que há um problema de codificação com letras com código ASCII sob um

    Eu posso reproduzi-lo em meu fórum de teste para que eu possa corrigi-lo sem acesso ao seu fórum

    Vou tentar encontrar a melhor solução para você.
    Bem, a boa notícia é que eu me resolveu o problema. A má notícia é que eu não posso confirmar que esta solução vai funcionar como uma função de substituição ... como ele só funciona no meu fóruns.

    De qualquer maneira, aqui está a nova função:

    PHP Code:
    function vbet_encodeToSafeUTF8(&$string) {

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

    Esta função converte UTF-8 para ISO-8859-1

  2. #12
    vBulletin Empresa Translator (vBET) Funcionários
    Registrado em
    Maio 2010
    Posts
    1,000

    Default

    obrigado por essa boa notícia. Vou testá-lo e confirmar

  3. #13
    vBulletin Empresa Translator (vBET) Funcionários
    Registrado em
    Maio 2010
    Posts
    1,000

    Default

    Olá,
    Sua solução não é boa em geral. Por quê? Esse é um trabalho com letras com código ASCII e menos de 256 (convertida e exibida bom), mas letras com código ASCII mais de 256 que eu tenho "?" sinais.

    Então, precisamos combinar nossos duas soluções em um

    exemplo:
    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;
        } 
    esta linha:
    PHP Code:
    [\304-\337
    definir do que cartas com código ASCII e menos de 256 não vai ser decodificado pela minha função, mas apenas por
    PHP Code:
    utf8_decode 
    Estou testando still.I não estou totalmente certo de que tudo funciona corretamente agora.
    Você pode testá-lo também!

  4. #14
    Membro Junior
    Registrado em
    Fevereiro 2011
    Posts
    9

    Default

    Para os meus propósitos, a solução funciona bem ... como eu estou apenas traduzindo-se em duas langauges ... Inglês e Francês. Ambos são ISO-8859-1 (latin1) idiomas. Portanto, o "utf_decode" função funciona bem.

    No entanto, com um âmbito global tendo em vista, a função utf_decode provavelmente não funcionará para outros idiomas fora da "latin1".

    Eu não sou muito de um programador vbulletin. No entanto, vou oferecer uma sugestão:

    Talvez usando um "if" pode atender às suas finalidades melhor se sua solução não funciona. No exemplo abaixo, o "translated_language_var" seria a língua de destino para traduzir.

    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
    Talvez usando algo como isso seria um método seguro para manter tudo seguro ...??? Tenho certeza que você pode facilmente utilizar este código pseudo e fazer o trabalho para vbulletin.
    Editado pela última vez por freddie3218; 14-03-11 no 05:12.

  5. #15
    vBulletin Empresa Translator (vBET) Funcionários
    Registrado em
    Maio 2010
    Posts
    1,000

    Default

    resolvido - serão incluídos na próxima relase

Página 2 de 2 FirstPrimeiro 12

Tags para este Tópico

Permissões de Postagem

  • Você pode não postar novos tópicos
  • Você pode não postar respostas
  • Você pode não anexos pós
  • Você pode não editar suas mensagens
  •