Egy CentOS8-on futó munin (graph_strategy cig, html_strategy cgi) a magyar ékezeteket rosszul jeleníti meg a grafikonon felett (a címben kívül), de a grafikonban ugyanaz hibátlanul látszik:
https://drive.google.com/file/d/1qj66PdLKzSD_zek883Tgf-zCOmehs_HI/view?usp=sharing
Van ötletetek, hogyan lehet megjavítani ?
István
- 149 megtekintés
Hozzászólások
A legenerált HTML oldalakban milyen karakterkódolással szerepel? Egyezik ez azzal, amit belegenerál a HTML oldal fejlécébe?
- A hozzászóláshoz be kell jelentkezni
<h3 id="heat_vent">heat_vent</h3>
<table>
<tr><td>Sugárzás ventilátorok</td></tr><tr><td>
<a href="mysql_SRFAN.html">
<img class="i"....mysql_SRFAN-day.png"
alt="Sugárzás ventilátorok"
/>
Böngészőből oldal forrását nézve, már rossz. UTF-8 lenne.
- A hozzászóláshoz be kell jelentkezni
Oké, és mi van a HTML forrásban a content-type mezőnél?
- A hozzászóláshoz be kell jelentkezni
Ezt szerintem a /etc/munin/templates/head.tmpl -ből generálja, ami az alábbi:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link rel="stylesheet" href="<TMPL_VAR NAME="R_PATH">/static/style-new.css" type="text/css" />
<TMPL_IF NAME="SHOW_ZOOM_JS">
<script src="<TMPL_VAR NAME="R_PATH">/static/formatdate.js" type="text/javascript" language="javascript"/>
<script src="<TMPL_VAR NAME="R_PATH">/static/querystring.js" type="text/javascript" language="javascript"/>
<script src="<TMPL_VAR NAME="R_PATH">/static/zoom.js" type="text/javascript" language="javascript"/>
</TMPL_IF>
<TMPL_UNLESS NAME="SHOW_ZOOM_JS">
<meta http-equiv="refresh" content="300" />
</TMPL_UNLESS>
<title>
<TMPL_IF NAME="NAME"><TMPL_VAR ESCAPE="HTML" NAME="NAME"> (</TMPL_IF>Munin<TMPL_LOOP NAME="PATH"><TMPL_IF NAME="pathname"> :: <TMPL_VAR ESCAPE="HTML" NAME="pathname"></TMPL_IF></TMPL_LOOP><TMPL_IF NAME="NAME">)</TMPL_IF>
</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<meta name="author" content="Auto-generated by Munin" />
<link rel="icon" type="image/vnd.microsoft.icon" href="<TMPL_VAR NAME="R_PATH">/static/favicon.ico" />
<link rel="SHORTCUT ICON" href="<TMPL_VAR NAME="R_PATH">/static/favicon.ico"/>
</head>
és így látszik a böngészőben:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Munin: dynamic graph zoom</title>
<script src="formatdate.js" type="text/javascript"></script>
<script src="querystring.js" type="text/javascript"></script>
<style type="text/css">
#overlayDiv {
opacity: .55;
filter: alpha(opacity=55);
background-color:#EEE;
position: absolute;
z-index: 2;
}
</style>
</head>
- A hozzászóláshoz be kell jelentkezni
Hát, hacsak nincs véletlenül duplán UTF-8 kódolva a HTML, akkor ezt jól kell mutassa. Gyanítom, hogy valahol dupla enkódolás van.
- A hozzászóláshoz be kell jelentkezni
Ha a beálítás html_strategy cron , akkor rendben voltak az ékezetek. Így a gyanú a munin-cgi-html perl scripre terelődött.
Megoldás, hozzáírtam a headerhez a charset-et:
--- munin-cgi-html_orig 2020-11-13 23:01:49.170654672 +0000
+++ munin-cgi-html 2020-11-13 23:22:07.315566304 +0000
@@ -51,7 +51,7 @@
# grab config
html_startup(\@params);
while(new CGI::Fast){
- print header("text/html");
+ print header("text/html;charset=utf-8");
$config = get_config(1);
show_page();
}
Lehet, hogy kapcsolódik a script végére írt workaround is , érintett: perl >= 5.20 . Ezen 5.26.3 van.
Köszönöm a segítséget!
István
- A hozzászóláshoz be kell jelentkezni
Debian alatt, ami magyar nyelvi beállításokkal lett telepítve, a munin, ISO-8859-2 -t használ.
- A hozzászóláshoz be kell jelentkezni