Pessoal, não sei como procurar uma solução para este problema aqui no fórum, então perdão desde já se esta pergunta for muito batida…
Bem, pelo que vi, estes tipos de caracteres “%c3%a9” , “%c3%a7” e “%20” são, respectivamente, “é”, “ç” e " " (espaço)…
Agora, como eu converto eles para os correspondentes certos ISO8859-1?
Não sei que tipo de caracteres são esses (%c3%a9)… (Se são unicode, UTF-8 e assim vai…) Então estou bem perdido em como transformar “%c3%a9” em “é”…
Alguém poderia me ajudar nessa tarefa?
Desde já, grato!
Conforme esta referência:http://www.jeppesn.dk/utf-8.html
[code]Character Latin1 Unicode UTF-8 Latin1
code interpr.
A0 00 A0 C2 A0 Â
¡ A1 00 A1 C2 A1 ¡
¢ A2 00 A2 C2 A2 ¢
£ A3 00 A3 C2 A3 £
¤ A4 00 A4 C2 A4 ¤
¥ A5 00 A5 C2 A5 Â¥
¦ A6 00 A6 C2 A6 ¦
§ A7 00 A7 C2 A7 §
¨ A8 00 A8 C2 A8 ¨
© A9 00 A9 C2 A9 ©
ª AA 00 AA C2 AA ª
« AB 00 AB C2 AB «
¬ AC 00 AC C2 AC ¬
AD 00 AD C2 AD Â
® AE 00 AE C2 AE ®
¯ AF 00 AF C2 AF ¯
° B0 00 B0 C2 B0 °
± B1 00 B1 C2 B1 ±
² B2 00 B2 C2 B2 ²
³ B3 00 B3 C2 B3 ³
´ B4 00 B4 C2 B4 ´
µ B5 00 B5 C2 B5 µ
¶ B6 00 B6 C2 B6 ¶
· B7 00 B7 C2 B7 ·
¸ B8 00 B8 C2 B8 ¸
¹ B9 00 B9 C2 B9 ¹
º BA 00 BA C2 BA º
» BB 00 BB C2 BB »
¼ BC 00 BC C2 BC ¼
½ BD 00 BD C2 BD ½
¾ BE 00 BE C2 BE ¾
¿ BF 00 BF C2 BF ¿
À C0 00 C0 C3 80 Ã[80]
Á C1 00 C1 C3 81 Ã[81]
 C2 00 C2 C3 82 Ã[82]
à C3 00 C3 C3 83 Ã[83]
Ä C4 00 C4 C3 84 Ã[84]
Å C5 00 C5 C3 85 Ã[85]
Æ C6 00 C6 C3 86 Ã[86]
Ç C7 00 C7 C3 87 Ã[87]
È C8 00 C8 C3 88 Ã[88]
É C9 00 C9 C3 89 Ã[89]
Ê CA 00 CA C3 8A Ã[8A]
Ë CB 00 CB C3 8B Ã[8B]
Ì CC 00 CC C3 8C Ã[8C]
Í CD 00 CD C3 8D Ã[8D]
Î CE 00 CE C3 8E Ã[8E]
Ï CF 00 CF C3 8F Ã[8F]
Ð D0 00 D0 C3 90 Ã[90]
Ñ D1 00 D1 C3 91 Ã[91]
Ò D2 00 D2 C3 92 Ã[92]
Ó D3 00 D3 C3 93 Ã[93]
Ô D4 00 D4 C3 94 Ã[94]
Õ D5 00 D5 C3 95 Ã[95]
Ö D6 00 D6 C3 96 Ã[96]
× D7 00 D7 C3 97 Ã[97]
Ø D8 00 D8 C3 98 Ã[98]
Ù D9 00 D9 C3 99 Ã[99]
Ú DA 00 DA C3 9A Ã[9A]
Û DB 00 DB C3 9B Ã[9B]
Ü DC 00 DC C3 9C Ã[9C]
Ý DD 00 DD C3 9D Ã[9D]
Þ DE 00 DE C3 9E Ã[9E]
ß DF 00 DF C3 9F Ã[9F]
à E0 00 E0 C3 A0 Ã
á E1 00 E1 C3 A1 á
â E2 00 E2 C3 A2 â
ã E3 00 E3 C3 A3 ã
ä E4 00 E4 C3 A4 ä
å E5 00 E5 C3 A5 Ã¥
æ E6 00 E6 C3 A6 æ
ç E7 00 E7 C3 A7 ç
è E8 00 E8 C3 A8 è
é E9 00 E9 C3 A9 é
ê EA 00 EA C3 AA ê
ë EB 00 EB C3 AB ë
ì EC 00 EC C3 AC ì
í ED 00 ED C3 AD Ã
î EE 00 EE C3 AE î
ï EF 00 EF C3 AF ï
ð F0 00 F0 C3 B0 ð
ñ F1 00 F1 C3 B1 ñ
ò F2 00 F2 C3 B2 ò
ó F3 00 F3 C3 B3 ó
ô F4 00 F4 C3 B4 ô
õ F5 00 F5 C3 B5 õ
ö F6 00 F6 C3 B6 ö
÷ F7 00 F7 C3 B7 ÷
ø F8 00 F8 C3 B8 ø
ù F9 00 F9 C3 B9 ù
ú FA 00 FA C3 BA ú
û FB 00 FB C3 BB û
ü FC 00 FC C3 BC ü
ý FD 00 FD C3 BD ý
þ FE 00 FE C3 BE þ
ÿ FF 00 FF C3 BF ÿ[/code]
Então eu tenho que procurar uma solução que transforme de UTF-8 para ISO8859-1?
Algo como tipo:
byte[] iso88591Data = theString.getBytes("ISO-8859-1");
:?: :?: :?: :?: Estou totalmente perdido (até pq esse código que passei, não me retorna os caracteres certos… )
Vou testar agora mesmo, e já te falo!
Meio problema foi resolvido
URLDecoder.decode(texto, "ISO-8859-1");
Me resultou em:
“%c3%a9” virou “é” :?:
“%c3%a7” virou “ç” :?:
“%20” virou " " :!: (esse ficou blz! Como deveria ser!)
Mais alguma luz?
Eureca!
Problema resolvido com:
URLDecoder.decode(URLDecoder.decode(texto, "UTF-8"), "ISO-8859-1");
Não sei se é a melhor solução, mas resolveu o problema 8)
Obrigado pela dica!
1 curtida