velocity:マクロ(#macro)中国語文字化けし


最初にvelocityを使用すると、中国語の文字化けしが出力されます.私の解決策はmergeTemplateメソッドを呼び出すときにencodingをUTF-8と指定し、正常になります.
Velocity.mergeTemplate(String templateName, String encoding, Context context, Writer writer)

しかし、最近velocityを使用してテンプレートを書くと、マクロ(#macro)に中国語があれば文字化けして出力されることがわかりました(macroで中国語を使ったことはありません).マクロ以外の中国語は正常に出力できます.Googleは検索してみると、中国語の乱れを徹底的に解決するには、input.encodingの属性を設定しなければならないことに気づきました.以下のようにします.
Properties vprops = new Properties();
vprops.put(Velocity.INPUT_ENCODING,"UTF-8");
vprops.put(Velocity.OUTPUT_ENCODING,"UTF-8");// OUTPUT_ENCODING    ,      mergeTemplate         encoding  UTF-8
Velocity.init(vprops);