Utilizator:Ark25/PR7/B
HTML-urile care nu conțin codul:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
vor poci caracterele după cum urmează:
- î => î - ( î ) -=- C3 AE
- ă => ă - ( ă ) -=- C4 83
- ö => ö - ( ö ) -=- C3 B6
- ü => ü - ( ü ) -=- C3 BC
- é => é - ( é ) -=- C3 A9
- ’ => ’ - ( ’ ) -=- E2 80 99
- “ => “ - ( “ ) -=- E2 80 9C
- … => … - ( … ) -=- E2 80 A6
- â => â - - [1]
Conversion:
You got < “ > and you want to see what character is encoded into that.
Copy the text < “ > and save it into a new text file in Notepad2, with encoding: ANSI.
Save the file, close it and then open it again in Notepad2.
Now, instead of < “ > you will get < “ >
Exemple de asemenea pagini:
- Croitorul Regelui, 15 aprilie 2007, Raluca Grintescu, Roxana Roseti, Jurnalul Național
- Regele și Margareta - De „Ziua Republicii", Mihai și-a desemnat succesoarea, 2 ianuarie 2008, Ilarion Tiu, Jurnalul Național
Soluția: Bookmarklet pentru reparat poceli de caractere
Mai multe:
Cum pot apărea asemenea poceli și cum se repară:
De exemplu, vrei să downloadezi paginile Mihail C. Șuțu - Alexandru Bârlădeanu - Rîbnița - Muş:
wget -i links.txt
(links.txt conține linkurile de downloadat):
- http://ro.wikipedia.org/wiki/Mihail_C._%C8%98u%C8%9Bu
- http://ro.wikipedia.org/wiki/Alexandru_B%C3%A2rl%C4%83deanu
- http://ro.wikipedia.org/wiki/R%C3%AEbni%C8%9Ba
- http://ro.wikipedia.org/wiki/Mu%C5%9F
după download, vei găsi fișierele numite: Mihail_C_È%98uÈ%9Bu - Alexandru_BârlÄ%83deanu - RîbniÈ%9Ba - MuÅ%9F - numele sunt gata pocite.
cum transformi aceste nume pocite în Mihail C. Șuțu - Alexandru Bârlădeanu - Rîbnița - Muş:
În primul rând, trei tabele ajutătoare:
- î = C3 AE
- Î = C3 8E
- â = C3 A2
- Â = C3 82
- ă = C4 83
- Ă = C4 82
- ş cu sedilă = C5 9F
- Ş cu sedilă = C5 9E
- ţ cu sedilă = C5 A3
- Ţ cu sedilă = C5 A2
- ș cu virgulă: C8 99
- Ș cu virgulă: C8 98
- ț cu virgulă: C8 9B
- Ț cu virgulă: C8 9A
- î = î
- Î = ÃŽ
- â = â
-  = Â
- ă = ă
- Ă = Ä‚
- ş cu sedilă = ÅŸ
- Ș cu sedilă = Åž
- ţ cu sedilă = Å£
- Ț cu sedilă = Å¢
- ș cu virgulă = È™
- Ș cu virgulă = Ș
- ț cu virgulă = È›
- Ț cu virgulă = Èš
- î = Ã%AE
- Î = Ã%8E
- â = Ã%A2
- Â = Ã%82
- ă = Ä%83
- Ă = Ä%82
- ş cu sedilă = Å%9F
- Ş cu sedilă = Å%9E
- ţ cu sedilă = Å%A3
- Ţ cu sedilă = Å%A2
- ș cu virgulă = È%99
- Ș cu virgulă = È%98
- ț cu virgulă = È%9B
- Ț cu virgulă = È%9A
(al doilea tabel conține codurile pocite despre care se vorbește la începutul paginii)
facem:
ls > files.txt
(ls.exe se găsește în gnuwin32)
de unde rezultă fișierul "files.txt", care conține numele pocite ale fișierelor: Mihail_C_È%98uÈ%9Bu - Alexandru_BârlÄ%83deanu - RîbniÈ%9Ba - MuÅ%9F
acum, facem un script sed (fișierul "script.sed") care arată așa:
#i s/Ã%AE/î/g s/Ã%8E/ÃŽ/g #a de la Romania s/Ã%A2/â/g s/Ã%82/Â/g #a de la Mar s/Ä%83/ă/g s/Ä%82/Ä‚/g #s cu sedila s/Å%9F/ÅŸ/g s/Å%9E/Åž/g #t cu sedila s/Å%A3/Å£/g s/Å%A2/Å¢/g #s cu virgula s/È%99/È™/g s/È%98/Ș/g #t cu virgula s/È%9B/È›/g s/È%9A/Èš/g
acum facem:
cat files.txt | sed -f script.sed > files1.txt echo1 -ne \xEF\xBB\xBF > files2.txt cat files1.txt >> files2.txt
Fișierul "files1.txt" va conține numele reparate. Dacă totuși nu apar afișate corect, deschide fișierul "files2.txt", care conține, pentru siguranță, semnătura UTF-8 la început de fișier (EF BB BF)
(cat, sed, ls și echo1 se găsesc în gnuwin32)
tot scriptul:
wget -i links.txt ls > files.txt cat files.txt | sed -f script.sed > files1.txt echo1 -ne \xEF\xBB\xBF > files2.txt cat files1.txt >> files2.txt
Observații: caracterele â și î sunt pocite în "â" și "î" (al doilea tabel) în loc de "Ã%A2" și "Ã%AE" (al treilea tabel). Deci practic "â" și "î" nu e nevoie să fie tratate în "script.sed"
Mai multe: cum se obțin cele trei tabele.
1. Cum se obține codul UTF-8 al unui caracter diacritic.
De exemplu caracterul "ș": mergi la pagina AB. Acum, în bara de adresă schimbă AB, cu Aș (adresa din bara de adresă va arăta așa: http://ro.wikipedia.org/wiki/Aș). Apasă "Enter". Apare o pagină de eroare. (Wikipedia încă nu are o pagină despre Aș.). Nu-i nimc. Acum copiază adresa (URL-ul din bara de adresă). Vei obține: http://ro.wikipedia.org/wiki/A%C8%99 adică:
devine
rezultă:
- ș = C8 99
2. Cum se obține "poceala" unui caracter (la începutul paginii am văzut cum se obține caracterul din "poceală").
2a. Edit a new text file in Notepad2, encode the file with UTF-8 and add the text: "ă". Then view the file in Free Commander with F3 - you can see "ă" but you can't copy it.
2b. Now, add to the begining of the file the following line:
<meta charset="ANSI" />
2c. Close the file and open it again (in Notepad2). You will see the "ă" text and you can copy it.
3. Tabelul al treilea se obține prin amestecarea primelor două.