또는 간단하게, 나는 그것을 '삭감을 의미합니다 (Oracle 데이터베이스)왜 문자열이 값으로 사용되는 쿼리에서 ResultSet이 하나의 char을 덜 얻습니까?
SELECT TO_NUMBER (tkb.id_kucnog_broja) id, 'Buildings and home numbers' vrsta_pj,
자바에서 나는이
for (int j = 0; j < rs.getMetaData().getColumnCount(); j++) {
data = rs.getString(j + 1);
}
하고 얻는 결과는'건물과 집 전화 번호를 '이이 코드를 '마지막 숯 (문자열을 바꾸어도 똑같습니다). 나는 2 '의 문자로 문자열을 만들 수 있지만 왜 이런 일이 발생하는지 알고 싶습니다.
편집 :
문제를 정확하게 지적하고 관리합니다. 실제 문자열은 'Zgrade i kućni brojevi'입니다 (여기에서 번역했습니다). 'º'기호 (그리고 나는 'š'또는 'đ'와 같은 다른 모든 문자를 추측합니다)가 문제인 것 같습니다. 어떤 크기의 문자열 (너무 많이 실험하지 않았고, 많은 작업을했습니다.)을 작성하고 크로아티아어의 '특별한'기호를 넣지 않으면 모든 것이 괜찮습니다. 그러나 그 문자열을 넣으면 문자열이 짧아집니다. 한 숯으로. 특별히 흥미로운 점은 Toad에서 실행할 때 잘 작동한다는 것입니다.
EDIT2 : 크로아티아어 특수 문자가 2 곳을 차지하는 것 같습니다. '\ u107'을 입력하면 문제가 남아 있습니다. 해결 방법을 만들 수 있습니다 ('ć'
작성 또는이 문자열의 끝에 문자열 추가) 문제가 해결되었으므로 (작업 완료 방법을 알고있는 방식으로) 문제가 해결되었지만 여전히 올바르게 수행하는 방법이 궁금합니다.
이상한 그것은 어떤 길이의 현을 위해 일어나는가? 문자열의 길이가 0 인 경우 (예 :''')? – skaffman
'n'특수 문자를 입력하면 문자열이 'n'또는 1로 단축됩니까? – I82Much
아마도 문자 인코딩 설정과 관련이 있습니다. 이러한 문자를 처리 할 수 있도록 데이터베이스가 올바른 문자 인코딩 (예 : UTF-8)을 사용하는지 확인하십시오. – Jesper