5.7.0.4 hetemlで文字化け

2014年10月18日 at 5:17

hetemlと本家のサーバで英語以外を使った場合に、変な文字列が表示される不具合が報告されたので調べてみました。
原因は言語ファイルのキャッシュ周りです。
おそらく、.moファイルをキャッシュした物が何故か表示されてしまっている物と思われます。

対応策ですが、取り急ぎ
/concrete/src/Localization/Localization.php
の72行目

$this->translate->setCache(new ZendCacheDriver('cache/expensive'));

をコメントアウトすると消えます。

タグ: 5.7.0.4, 文字化け, 5.7.1

Re: 5.7.0.4 hetemlで文字化け

2014年10月18日 at 5:29
本家のGithubにissueを投げたところ、既に解決しているとの事でした。

/concrete/src/Localization/Localization.php
をgithubの最新の物と置き換えると解決します。
 

Re: 5.7.0.4 hetemlで文字化け

2014年10月20日 at 19:28
5.7.0.4で同様の原因が起きていた、こちらのheteml環境で再度5.7.1をインストールしましたが、やはり変な文字列が表示されました。
こちらのトピックを参考に、76行目の
$this->translate->setCache(self::getCache());

をコメントアウトし、キャッシュを削除することでようやく表示は消えました。
根本的な解決はされていないような気がしますが、他の方のhetemlではどうなのでしょうか・・・。
 

Re: 5.7.0.4 hetemlで文字化け

2014年10月20日 at 20:02
5.7.1でやはり出ていますね。
まったく同じ状況です。
 

Re: 5.7.0.4 hetemlで文字化け

2014年10月21日 at 18:34
こちらの heteml では5.7.0.4、5.7.1とも表示は消えました。

5.7.0.4は72行目の
$this->translate->setCache(new ZendCacheDriver('cache/expensive'));


5.7.1は76行目の
$this->translate->setCache(self::getCache());


をコメントアウトしました。

サーバ接続の照合順序:utf8mb4_general_ci

php.ini ↓

mbstring.detect_order:UTF-8,ASCII
mbstring.encoding_translation:Off
mbstring.http_input:pass
mbstring.http_output:pass
mbstring.internal_encoding:未設定
mbstring.language:neutral
 

Re: 5.7.0.4 hetemlで文字化け

2014年11月5日 at 19:02
5.7.2でも出ました。
76行目を同様にコメントアウトして戻りました。
 

Re: Re: 5.7.0.4 hetemlで文字化け

2014年11月6日 at 5:49
報告ありがとうございます。
本家に報告して対応しました。
次回バージョンでは修正されています。