zzurlencode: erro em caracteres UTF-8 #194
Comments
@aureliojargas na minha máquina funciona perfeitamente. |
Putz, o problema é mais embaixo: printf %s "$string" | while IFS= read -r -n 1 caractere Esse |
Já tem uma idéia do que fazer? |
@aureliojargas Tenta isso:
Aqui continua funcionando com essa modificação. |
O testador rodou 100%? Porque acho que não vai funcionar se tiver quebra de linha no texto original. |
O testador funcionou perfeito. |
Tem razão @aureliojargas , isso não funciona mesmo. |
Veja issue #201. Provavelmente a resolução dele resolverá este aqui. |
Tive que reescrever a função para poder suportar UTF-8. O od é usado para descobrir os códigos hexadecimais. A parte de proteger alguns caracteres da conversão ficou muito mágica, mas foi a solução mais robusta que encontrei das várias que tentei. Usar loop no shell caractere a caractere deu problemas com alguns caracteres especiais para o shell. Os caracteres a não converter não são mais posicionais, e agora possuem sua própria opção: -n. Testador bem completo, tentando chegar nos limites do algoritmo. Veja issues #194 e #201
Cara, tive que fazer mágica pra resolver essa, mas depois de dois dias quebrando a cabeça, cheguei no resultado esperado. Está no commit 495eeff. Por favor, testa se na tua máquina o testador roda tudo 100%:
|
Putz! Grande sacada, usar o bom e velho |
Cara em duas ficou perfeito! Show de bola Mas a porcaria do Mint que tenho instalado aqui deu erro de novo. Fazer a mesma jogada, de passar antes pelo octal, é viável? |
Putz, é então no Eu já tou achando complicada demais essa função do jeito que está. Quem sabe essa podemos não suportar o Mint por enquanto, até que apareça uma solução mais simples? |
Complicado isso! Algo que me ocorreu como alternativa: Talvez esse caminho possa ser usado para "desconverter" os caracteres. |
Não sei se pode ajudar, mas implementei a idéia do |
Na verdade @aureliojargas acho que me expressei mal. Não é o melhor dos mundos, mas talvez seja melhor mesmo deixar com os testes falhando na família Ubuntu e seus derivados por enquanto. E não quero ser pessimista, mas não sei se teremos alguma solução simples para cobrir essa caso. |
Ah, eu não tinha entendido que o problema era somente nos testes. Então sem crise, se ela funciona na execução normal, tudo bem. Quanto à funcionalidade adicional na |
Como o problema original da |
Abri o issue #207 para lidarmos com o problema do printf no Mint/Ubuntu de maneira genérica. |
@itamarnet na sua máquina está ok esta função ou será que é problema exclusivo no BSD?
No issue #180 pode ter alguma informação útil pra investigar este caso.
The text was updated successfully, but these errors were encountered: