From: Craig B. <cba...@us...> - 2006-07-27 14:31:21
|
Guillaume Filion writes: > Klaus Weidenbach a =E9crit : > > Seems there is=20 > > no line like "<meta http-equiv=3D"Content-Type" content=3D"text/html;= =20 > > charset=3DUTF-8"/>" in the <head> tag of the html files.=20 >=20 > That's a good hypothesis, but BackupPC sets the charset in the HTTP hea= ders: > lib/BackupPC/CGI$ fgrep charset * > Lib.pm: print $Cgi->header(-charset =3D> "utf-8"); >=20 > However, I was able to reproduce the problem I was getting earlier. >=20 > I reinstalled backuppc from the latest cvs on my two servers -- both > running debian testing with perl 5.8.8. >=20 > One of them (ali) is sending utf8 encoded web pages that render > correctly, it has LANG set to "C". >=20 > The other one (sylvester) is sending web pages encoded in iso-latin-1 > but with a utf8 charset HTTP header. The pages don't render correctly > unless I change the encoding in Firefox to iso-latin-1. When I browse > the backups, the filenames display correctly. It has LANG set > to "fr-CA" and my locale is set to "fr_CA ISO-8859-1". >=20 > I tried setting my locale to nothing, to fr_CA.utf8, setting the env > variable LANG=3DC, putting "no utf8;" in the lang files, but I can't ge= t > it to work... So after all this, I'm still confused, but not for the > same reasons as before... :-( Interesting. There's something going on we need to understand. What happens when you run this one-liner on your two machines? perl -e 'binmode(STDOUT, ":utf8"); print("\x{e9}");' | od -t x1 This should convert the code point 0xe9 (=E9) to utf8 and print two bytes: c3 a9 You could then try this: perl -e 'binmode(STDOUT, ":utf8"); print("=E9");' | od -t x1 and it should print the same thing. Craig |