FreeMarker Encoding Error

When I read a UTF-8 encoded template using FreeMarker, special characters are displayed correctly in the browser, although it freeMarkerConfig.getDefaultEncoding()returns "Cp1252". If I install freeMarkerConfig.setDefaultEncoding("UTF-8"), I only see question marks in the browser, although "UTF-8" is the actual encoding of the template file. In each case, the HTTP header "Content-Type: text / html; charset = UTF-8" is sent.

Any idea what is wrong?

+5
source share
4 answers

Set the content type property in FreeMarkerViewResolver.

Spring 4.2 example

@Bean
public FreeMarkerViewResolver freemarkerViewResolver() {
    FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
    resolver.setContentType("text/html; charset=utf-8");
    resolver.setCache(true);
    resolver.setPrefix("");
    resolver.setSuffix(".ftl.html");
    resolver.setRequestContextAttribute("rc");
    return resolver;
}
+1
source

, spring MimeMessage , MimeMessagePreparator ( mimemessagepreparator getMessagePreparator, ):

// Create the message helper from the received mimemessage on the preparator
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
// ... include the from, to, subject, freemarker html generation here... text is the String variable with generated html
// Set the content as follows instead of helper.setText(text, true);
helper.getMimeMessage().setContent(text, "text/html;charset=utf-8");

, .

:

import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;
import javax.mail.internet.MimeMessage;

, UTF-8 , , , eclipse IDE.

, .

+1

- java. UTF-FOO freemarker, UTF-FOO.

. .

. :

  Template templévénmts;
  BufferedWriter writ;
  OutputStreamWriter encodé;

  encodé = new OutputStreamWriter(
   new FileOutputStream(new File(f_dirDestination, résultat)), "UTF-8");
  writ = new BufferedWriter(
   encodé);
  templévénmts = f_freemarker.getTemplate(modèle);
  templévénmts.process(f_rootDatas, writ);
  writ.close();

FileWriterWithEncoding commons io.

0

, , , UTF-8, Cp1252. , .. . Istao - .

0

All Articles