[megoldva] munin karakterkódolás

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

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?

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

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>

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

Debian alatt, ami magyar nyelvi beállításokkal lett telepítve, a munin, ISO-8859-2 -t használ.