Sziasztok!
Adott egy szerver, ami alatt meghalt egy winyó. Eddigi rendszer Debian Sarge volt, most kapott egy Etch-et. Ezzel a lendülettel a karakterkódolás ISO-8859-2-ről UTF-8-ra változott. Ez persze nem is baj, csakhogy: az eddig gyönyörűen muzsikáló statikus honlapok (és persze minden fájl ami eddigy stimmelt), most tele vannak szép kérdőjelekkel, meg négyzetecskékkel. Mit lehet tenni annak érdekében, ezek a tartalmak a továbbiakban is olvasható módon jelenjenek meg, és maradjon utf8 a kódolás. Annyit megtettem, hogy locale-gen-nel az utf8 mellé, még belőttem az ISO-8859-2-t is, de ez sajna nem segít, Lehet (illetve biztos), hogy én vagyok a töketlen, de nem találtam eddig megoldást. Mysql-t már rábírtam, hogy kulturáltan viselkedjen, a dinamikus honlapokat már tudom orvosolni. Csak a statikus tartalmat tartalmazó fájlok a gond jelen pillanatban...
Előre is köszi!
- 724 megtekintés
Hozzászólások
A statikus honlapok tartalmaznak head részben karakter kódolást?
<HEAD>
<meta http-equiv=Content-Type content="text/html; charset="iso-8859-2">
</HEAD>
Ha nem ezt tedd bele a html-be, és nézzed meg úgy.
Ha nem segít akkor az összes file-t konvertáld át utf8-ba az iconv segítségével.
iconv -f iso8859-2 -t utf8 file.html > file_utf8.html
- A hozzászóláshoz be kell jelentkezni
A html cuccban benne van a fenti sor. De ez iszonyatos mennyiségű fájl konvertálását jelentené. Nincs erre valami egyszerű megoldás? Furcsa lenne, ha egy ilyen átállás ekkora galibát jelentene...
- A hozzászóláshoz be kell jelentkezni
írsz rá egy egysoros script-et :)
cd "célmappa"
find . -name \*.html -exec 'iconv -f iso8859-2 -t utf8 {} > tmp.html; mv tmp.html {}'
valami ilyesmi, ezért teszteld előtte !!! pl másolj át pár file-t egy ideiglenes könytárba, és nézzed meg azon
- A hozzászóláshoz be kell jelentkezni
Egy szervert üzemeltető ilyet komolyan kérdez? :-O
Én csak közgazdász vagyok, a linux hobby, de amikor átálltam latin2-ről utf8-ra egy egyszerű ciklusba még én is bele tudtam paszírozni a recode parancsot.
4 év hup tagság után a find, recode, xargs, while szavak remélem mondanak valamit.
Bocs nem bántani akarlak, lehet, hogy csak nekem van rossz napom.
- A hozzászóláshoz be kell jelentkezni
Nos khm... Igen... Persze ez az iconvos dolog nekem is megvan, de gondoltam volt már valaki, aki ilyet tett, és esetleg neki van gyors/egyszerű/kész megoldása erre. Én meg ugye most néztem szembe először ezzel a feladattal. :-) Amúgy van itt több Linux szerver is mindenféle munkákra, de most jutottam el odáig, hogy ez a művelet elém állt. Nem neked van rossz napod, valóban érdekes tőlem ez a kérdés, ezért is írtam, hogy valszeg én vagyok túl kis tapasztalatú ehhez. :-)
- A hozzászóláshoz be kell jelentkezni
Vagy esetleg AddDefaultCharset segithet a /etc/apache2/conf.d/charset-ben (ha apache2).
- A hozzászóláshoz be kell jelentkezni
Igen, igen az már megvolt... De vaz a baj, hogy adott egy mysql alapú lap, ami UTF-8, és alatta van /valami/egyseg honlapja, ami viszont statikus ISO-8859-2... Próbáltam .htaccess-be berakni, de úgy nem akar muzérolni...
- A hozzászóláshoz be kell jelentkezni
és ha virtuális host-ba rendezed őket, akkor csinálhatsz csak arra vonatkozó beállításokat, az most nincs előttem, hogy pontosan ez beállítható e
- A hozzászóláshoz be kell jelentkezni
AllowOverride All-t adjal a mappanak a httpd.conf -ban vagy apache2.conf-ban különben nem veszi nagyon figyelembe a beállításaid.. de valóban az adott lap rootjaban ha elhelyezel egy .htaccess-t AddDefaultCharset ISO-8859-2 tartalommal, működni fog.. tuti mert fel oraja csinaltam.
- A hozzászóláshoz be kell jelentkezni