1.6.8 から 1.6.9 にアップデートすると通知メールの件名が文字化けする

zabbix1.6.8 から zabbix1.6.9にアップデートしたら通知メールの件名が文字化けしました。
本文は文字化けしませんでした。

通知メールはここでアップされている sendmessage_php.sh で送信しています。

よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

peyonさん

もう少々情報を提供下さい。
できれば、OSバージョン等も書いて頂けると助かります。

zabbix1.6.8 から zabbix1.6.9にアップデートしたら通知メールの件名が文字化けしました。
本文は文字化けしませんでした。

1)アップグレード前のZabbix1.6.8は本家のソースをconfigureしたものですか?それともZABBIX-JPのrpmですか?

2)アップグレードしたのZabbix1.6.9は本家のソースをconfigureで入れたのですか?それともZABBIX-JPのrpmですか?

3)DBはMySQLですか?それとも他のものですか?

ユーザー peyon の写真

情報が少なくてすみません。

1) yum インストール

2) yum アップデート

3) MySQLです。

OSは RadHat Enterprise Linux Server release 5.1 です。

ユーザー peyon の写真

MySQLデータを調べましたところ、件名が文字化けして登録されていました。
アクションの名前も文字化けしていました。
本文は文字化けしてませんでした。

アクションの設定のところでは文字化けしていませんでした。

ユーザー KAZ の写真

peyonさん

MySQLデータを調べましたところ、件名が文字化けして登録されていました。
アクションの名前も文字化けしていました。
本文は文字化けしてませんでした。

了解しました。
私の方の1.6.8-1を1.6.9-1にアップグレードして検証してみます。
只、本業が忙しいので検証できるのが週明けになるかもしれません。
御容赦ください。m(__)m

ユーザー kodai の写真

こんにちは。

MySQLにログインして以下のコマンドを実行して、

<code>$ mysql -uroot -p zabbix
mysql> show table status\G;</code>

表示される各テーブルの情報で、すべてのテーブルのcollationがutf8_generic_ciになっているでしょうか?

<code>*************************** 88. row ***************************
Name: valuemaps
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 7
Avg_row_length: 2340
Data_length: 16384
Max_data_length: 0
Index_length: 16384
Data_free: 0
Auto_increment: NULL
Create_time: 2009-11-16 19:13:53
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci ←ここ
Checksum: NULL
Create_options:
Comment: InnoDB free: 0 kB</code>

ユーザー peyon の写真

ありがとうございます。

確認しました。
すべてのテーブルのCollationがutf8_general_ciになっています。

ユーザー peyon の写真

Webページからアクションを追加するとアクション名と件名が文字化けします。
MySQLで直接INSERTすると文字化けしませんでした。

ユーザー KAZ の写真

peyonさん

ブラウザは何を使ってますか?
Google Chromeはたまに文字化けします。
お勧めはIE8やFireFoxです。

ユーザー peyon の写真

ありがとうございます。

ブラウザは IE8 を使っています。

またWebページではアクション名も、件名も文字化けしていません。

name = あいうえお
def_shortdata = かきくけこ
def_longdata = さしすせそ
で保存しましたが、

MySQLで見ると以下のように文字化けしてます。

mysql> select actionid,name,def_shortdata,def_longdata from actions where actionid = 14;
+----------+-----------------------------------+-----------------------------------+-----------------+
| actionid | name | def_shortdata | def_longdata |
+----------+-----------------------------------+-----------------------------------+-----------------+
| 14 | a??a??a?†a??a?? | a??a??a??a?‘a?“ | さしすせそ |
+----------+-----------------------------------+-----------------------------------+-----------------+
1 row in set (0.00 sec)

mysql>

メールの件名は上記の文字化けしたままで送信されます。

ユーザー peyon の写真

zabbix1.8.1は文字化けしませんでした。

ユーザー peyon の写真

Webページのアクション以外の箇所で日本語で入力したところ、テキストエリアに入力された日本語は文字化けなしで保存され、テキストボックスに入力された日本語は文字化けして保存されていました。

参考にしてください。

ユーザー kodai の写真

確認したのですが、こちらの環境ではテキストボックスの日本語が文字化けするという現象は起きてないですね。

以下のページの説明にあるMySQLのエンコード設定はされているでしょうか。
http://www.zabbix.jp/modules/bwiki/index.php?ZABBIX%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

あと、利用されているPHPはOS付属のものですか?mbstring関連の設定を変更されている場合は、そちらも確認してみてください。

ユーザー KAZ の写真

peyonさん

遅くなってすいません。

私の方でも1.6.8-1を1.6.9-1にアップグレードしてみましたが、メール等文字化けを置きませんでした。

下記のように文字化けするとの事ですが…
<code>
mysql> select actionid,name,def_shortdata,def_longdata from actions where actionid = 14;
+----------+-----------------------------------+-----------------------------------+-----------------+
| actionid | name | def_shortdata | def_longdata |
+----------+-----------------------------------+-----------------------------------+-----------------+
| 14 | a??a??a?†a??a?? | a??a??a??a?‘a?“ | さしすせそ |
+----------+-----------------------------------+-----------------------------------+-----------------+
1 row in set (0.00 sec)
</code>

私の方は文字化けしませんでした。
<code>
mysql> select actionid,name,def_shortdata,def_longdata from actions limit 0,5;
+----------+--------------------------------------------+---------------+--------------+
| actionid | name | def_shortdata | def_longdata |
+----------+--------------------------------------------+---------------+--------------+
| 2 | Auto discovery. Linux servers. | | |
| 3 | Auto discovery. Windows servers. | | |
| 4 | 障害回復:{HOSTNAME}:{TRIGGER.NAME} | | |
| 5 | 障害検知:{HOSTNAME}:{TRIGGER.NAME} | | |
+----------+--------------------------------------------+---------------+--------------+
4 rows in set (0.00 sec)
</code>

なので、下記の確認をして見て下さい。
1)actionsテーブルのCollationカラムがutf8_general_ciになっているか?
2)zabbix.confの「hp_value mbstring.func_overload 6」は有効になっているか?

以下、actionsテーブル確認例
<code>
mysql> show table status like 'actions';
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-------------------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-------------------+
| actions | InnoDB | 10 | Compact | 4 | 4096 | 16384 | 0 | 16384 | 0 | NULL | 2010-04-06 15:07:20 | NULL | NULL | utf8_general_ci | NULL | | InnoDB free: 0 kB |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-------------------+
1 row in set (0.00 sec)
</code>