2013-08-27 3 views
0

내가 oracle11g에서 데이터를 가져 오는 중 오류 및 IE8 및 IE9 브라우저에 데이터를 표시하지만, 일부 특수 문자를 표시 할 수 있어요 (예. E)페이지 표시 '?'대신에 'E'

에서의 내 웹 페이지에서 'UTF-8'인코딩을 명시 적으로 선언했습니다. 내 톰캣 웹 서버에 대한

,은 server.xml

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/> 

내가 너무 'UTF-8'사용 그들은 또한 데이터베이스 연결을 보장하기 위해 언급, stackflow에 다른 질문을 참조하십시오.

<Resource name="jdbc/AppDB" 
     auth="Container" 
     type="javax.sql.DataSource" 
     maxActive="20" maxIdle="10" maxWait="10000" 
     username="foo" 
     password="bar" 
     driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/  ID_development?useEncoding=true&amp;characterEncoding=UTF-8" 
    /> 

주어진 해결책은 mysql을위한 것입니다. oracleDriver를 사용하는 경우 인코딩을 어떻게 설정할 수 있습니까?

<Resource name="jdbc/AppDB" 
     auth="Container" 
     type="javax.sql.DataSource" 
     driverClassName="oracle.jdbc.OracleDriver" 
     url="jdbc:oracle:thin:@127.0.0.1:1521:ora11" 
     username="foo" 
     password="bar" 
     maxActive="20" 
     maxIdle="1000" 
     maxWait="-1" /> 

답변

1

this answer을 검토하십시오. SQL Developer에 중점을두고 있다는 사실에 관계없이 JDBC 드라이버 튜닝에 대한 정보가 포함되어 있으며 오라클에서 유니 코드 문자 유형을 올바르게 처리하는 방법을 알려줍니다.

업데이트 클라이언트에서 문자를 표시와
불행은 데이터베이스 클라이언트 (귀하의 경우 톰캣)에 잘못된 NLS_LANG 설정에 의해 발생할 수 있습니다. Java 로케일 설정에서 파생 된 thin JDBC 드라이버 NLS_LANG 값의 경우.
가능한 변형을 보려면 this question에서 대답을 살펴보고 Oracle documentation을 확인하십시오.
오라클 데이터베이스 연결의 문자 집합에 문제의 근본 원인이있는 경우 확인할 가능한 끝점은 NLS_LANGoracle.jdbc.defaultNChar입니다. 따라서 일어난 일을 파악하기 위해 두 가지가 모두 올바르게 설정되어 있는지 확인해야합니다.

+0

감사합니다. @ThinkJet. 데이터가 dB에 성공적으로 저장되어 표시 문제가 발생합니다. 그리고 dB, 웹 서버 (바람둥이)의 구성 만 편집 할 수있는 권한이 없습니다 –

+0

@ThinkJet. 귀하의 제안을 사용하여 조사를 계속하고 내 결과를 업데이트 할 것입니다. –