2009-10-08 11 views

답변

2

이 시도 : 대신 'E'사용

  • 를 '\ u00E9'대신 'A'사용
  • '\ u00E2'대신 'u00E8 \'
  • 'E'사용

+0

나는 오라클로부터 오는 문자열을 갖고 있는데, 짧은 모든 특수 문자를 대체하고 싶습니다. 가능합니까? 거기에 어떤 API가 있습니까? – Garudadwajan

+0

그런 다음 db의 인코딩이 무엇인지 확인한 다음 jasperreports 템플리트의 인코딩이 무엇인지 확인하십시오. Oracle Jdbc에는 몇 가지 특수한 ms 단어 문자를 유니 코드로 변환하는 데 문제가 있다는 것을 명심하십시오. –

1

당신이 CDATA를 사용할 수 있습니다 <, > 같은 특수 XML 문자를 탈출하려면 :

<staticText> 
    <reportElement x="0" y="0" width="100" height="14"/> 
    <textElement/> 
     <text><![CDATA[This is a test:<     ]]></text> 
</staticText> 

é, â, è과 같은 특수 문자는 jrxml 파일 시작 부분에 문자 인코딩을 지정하고 파일을 올바르게 인코딩하는 경우 잘 작동합니다.

<?xml version="1.0" encoding="UTF-8"?> 

내 보낸 보고서에 잘못된 문자가 표시되면 jasper 내보내기를 확인해야합니다. 예를 들어 PDF 내보내기의 경우 here 정보를 찾을 수 있습니다.

1

.jrxml 파일이 .jasper 파일로 컴파일되고 사용 된 인코딩 정보가 손실되므로 UTF-8 인코딩으로 jrxml 파일을 저장해도 문제가 해결되지 않습니다. 최종 보고서에는 특수 문자가 없습니다.

CDATA XML 태그 안에/u00XX 이스케이프 문자를 사용할 때 문제가 해결되었습니다. 이 경우 특수 문자가 출력 PDF 파일에 있습니다. CDATA 태그 외부는 올바르게 해석되지 않는 이스케이프 문자입니다.

관련 문제