Проблема кодировки специальных символов в Solaris с сервером weblogic - PullRequest
0 голосов
/ 05 мая 2011

У меня есть приложение, которое использует fop и xslt для создания PDF-файла. Специальные символы, такие как §£?ÐÅÆ, отображаются в PDF как ????.

Сервер weblogic работает на машине соляриса. Я уже пробовал с

<charset-params>
    <input-charset>
        <resource-path>/*</resource-path>
        <java-charset-name>UTF-8</java-charset-name>
    </input-charset>
    <charset-mapping>
     <iana-charset-name>UTF-8</iana-charset-name>
    <java-charset-name>UTF-8</java-charset-name>
 </charset-mapping>     
</charset-params> 

в weblogic.xml.

Я также пытался с

transformer.setOutputProperty( OutputKeys.METHOD, "xml");
            transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
            transformer.setOutputProperty( OutputKeys.INDENT, "yes");
            transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

Кажется, там ничего не работает.

1 Ответ

0 голосов
/ 06 мая 2011

Вы установили fop для поиска шрифтов с этими персонажами?Например, в Solaris 11 с использованием fop (хотя и не с weblogic) мне пришлось установить пути для шрифтов в файле fop-conf.xml:

<?xml version="1.0"?>
<!-- NOTE: This is the version of the configuration -->
<fop version="1.0">
  <renderers>
    <renderer mime="application/pdf">
      <fonts>
         <!-- register all the fonts found in a directory -->
         <directory>/usr/share/fonts/TrueType/core/</directory>
         <directory>/usr/share/fonts/TrueType/dejavu/</directory>
         <directory>/usr/share/fonts/TrueType/liberation/</directory>
         <directory>/usr/share/fonts/TrueType/unifont/</directory>

         <!-- register all the fonts found in a directory and all of its sub directories (use with care) -->
         <!-- directory recursive="true">C:\MyFonts2</directory -->

         <!-- automatically detect operating system installed fonts -->
         <auto-detect/>
      </fonts>
   </renderer>

   <renderer mime="application/postscript">
      <fonts>
         <directory>/usr/share/fonts/X11/Type1/</directory>
         <directory>/usr/share/ghostscript/fonts/</directory>
         <directory>/usr/share/fonts/TrueType/core/</directory>
         <directory>/usr/share/fonts/TrueType/dejavu/</directory>
         <directory>/usr/share/fonts/TrueType/liberation/</directory>
         <directory>/usr/share/fonts/TrueType/unifont/</directory>
      </fonts>
    </renderer>
</renderers>
</fop>

(Пути к шрифтам будут отличаться в более старых версиях Solaris.)

Подробнее см .:

...