// Methods for producing files
public boolean produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout) {
- return _produce(template, filename, model, htmlout, false);
+ return _produce(template, filename, model, htmlout, false,
+ MirConfig.getProp("Mir.DefaultEncoding"));
+ }
+
+ public boolean produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout, String encoding) {
+ return _produce(template, filename, model, htmlout, false, encoding);
}
public boolean produce_compressed(String template, String filename, TemplateModelRoot model, PrintWriter htmlout) {
- return _produce(template, filename, model, htmlout, true);
+ return _produce(template, filename, model, htmlout, true,
+ MirConfig.getProp("Mir.DefaultEncoding"));
}
- private boolean _produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout, boolean compressed) {
+ private boolean _produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout, boolean compressed, String encoding) {
try {
File f = new File(producerStorageRoot + filename);
File dir = new File(f.getParent());
// it's important that we set the desired encoding. It should be UTF8
// not the platform default.
OutputStreamWriter outputFileStream =
- new OutputStreamWriter(new FileOutputStream(f),
- MirConfig.getProp("Mir.DefaultEncoding"));
+ new OutputStreamWriter(new FileOutputStream(f), encoding);
PrintWriter outStream;
if (compressed==true) {
outStream = new LineFilterWriter(outputFileStream);