I am using Japanese characters in my SDL Tridion publication .These characters are visible on SDL Tridion GUI but are replaced with '?' mark after publishing on IIS server. Is there any way to resolve this problem. I am using core service to create or publish the publication ?


2 Answers 2


Please check following

  • Publication Target is set to UTF-8

  • Delivery weibsite's web.config has following

<globalization fileEncoding="UTF-8" requestEncoding="UTF-8" responseEncoding="UTF-8"/>

  • thanks i set target type UTF-8 and the Japanese character pages successfully publish when i opened publish page in notepad++ it successfully showing the Japanese character but when i opened this page in google crome that time all the Japanese character are displaying in special character symbol like é€Ÿå ±. and when i set the <globalization fileEncoding="UTF-8" requestEncoding="UTF-8" responseEncoding="UTF-8"/> in website web config file in tag <configuration> it showing me error. Commented Sep 12, 2014 at 8:45

Unexpected characters almost always is an encoding issue, and those are very common unfortunately since by default SDL Tridion sets everything to Windows Default, which is CP1252.

To change the encoding to UTF-8, you need to make sure that it is set through the entire publishing flow. So starting with the Publication Target, then the Publisher, Transport Service, Deployer, Broker and ending with your Web Application.

Elena Serghie wrote a nice blogpost about it http://elenaserghie.blogspot.nl/2012/01/7-clues-to-solve-character-encoding.html

I've added the following comment since that is the one I always seem to forget:

Correct file encoding for a Deployer on a Windows Server is done by setting the -DFile.encoding via a jvmarg in the registry. It is the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Tridion\Content Delivery\General and this image shows an example of setting it to UTF-8:

enter image description here

Another option is to use the jvm.xml in your Content Delivery config folders, containsing something like:

This file can be used to send application specific JVM arguments.
    Add the Option tag to define specific JVM options.
    The Option tag can define the MaximumHeapSizeInMB (-Xmx), the InitialHeapSizeInMB (-Xms) and other JVM properties(-D).
    <Option Name="-Xmx" Value="400m"/>
    <Option Name="-Xms" Value="50m"/>
    <Option Name="-Dfile.encoding" Value="UTF-8"/>

Since I found that most of the issues seem to relate to incorrect file encoding of the JVM for both the Deployer and the Broker. So do remember to set these for all your Deployer nodes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.