HTML-urile care nu conțin codul:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

vor poci caracterele după cum urmează:


  • î     =>    Ã®     -    ( &#195;&#174; ) -=- C3 AE
  • ă     =>    Äƒ     -    ( &#196;&#131; ) -=- C4 83
  • ö     =>    Ã¶     -    ( &#195;&#182; ) -=- C3 B6
  • ü     =>    Ã¼     -    ( &#195;&#188; ) -=- C3 BC
  • é     =>    Ã©     -    ( &#195;&#169; ) -=- C3 A9
  • ’     =>    â€™     -    ( &#226;&#128;&#153; ) -=- E2 80 99
  • “     =>    â€œ     -    ( &#226;&#128;&#156; ) -=- E2 80 9C
  • …     =>    â€¦     -    ( &#226;&#128;&#166; ) -=- 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:

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):

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ă.