다른 사용자가 관리하는 DB2 데이터베이스에서 데이터를 선택하려고하는데,이를 데이터 관리를 위해 저의 SQL 데이터베이스에 삽입 할 수 있습니다. 이 작업을 수행하기 위해 Java 프로그램을 사용하고 있으며 프로그램이 테스트 데이터에서 성공적으로 테스트했습니다. 그러나 db2 데이터의 이상한 기호 때문에 오류가 발생합니다. 다음은 내 오류 로그입니다. DB2 문자 이슈 선택
Incorrect string value: '\xC2\x97D #5...' for column 'Name' at row 1
java.sql.SQLException: Incorrect string value: '\xC2\x97D #5...' for column 'Name' at row 1
INSERT INTO `Temp_Equipment_Inventory`.`PC_Table10i` SET `Account_No`='1019TJ148001',`Inventory_No`='569931',`Building_No`='0060',`Location`='CLASSRM',`FYYR_No`='2004',`Cost`='635.00',`Name`='MICROPHONE LAVALIER WIRELESS (ISCÂD #5290) SHURE MODEL ULXP14/85 ',`CDCATY`=' ',`CDSRCE`='M',`FLDCAL`=' ',`CDACQN`='G',`FLOWNR`='Y',`FLSHAR`=' ',`CDDELT`='00',`CNYTDT`='00',`NOPURO`='6870607-01 ',`NOPIMO`='01',`CDPREI`='E',`Original_Amount`='155.00',`Serial_Code`='0309040351 ',`CDCOMP`=' ',`NOCHECK`='680146 ',`CDCOMM`='3651400',`Last_Update`='2008-07-18',`CDDEPT`='148',`Room_No`='0300 ',`Date_Scanned`=NULL,`Date_Acquired`='2004-03-09',`Manufacturer_Name`='SHURE ',`Expiry_Date`=NULL
당신이 볼 수 있듯이
는, 이름 열은 오류를 던지는 재미 Â와 데이터 (ISCÂD 번호 5290)를 갖는다. 그러나 db2 테이블의 데이터를 열람하면이 옵션이 나타나지 않습니다.나는 mysql 테이블을 UTF-8 유니 코드 ci로 설정했다.
db2 데이터베이스는 나로 관리되지 않기 때문에 편집 할 수 없습니다.
내 데이터에서이 기호를 찾으려면 어떻게해야합니까?
DB2 데이터베이스가 실행되는 플랫폼은 무엇입니까? 또한 오류가 발생하는 _source_ 행을 찾아서 실제로 포함 된 것을 파악할 수 있습니까? –
이 코드를 텍스트로 변환 할 때 해당 섹션에 실제로 MICROPHONE LAVALIER WIRELESS (ISC — D # 5290) SHURE MODEL ULXP14/85가 포함되어 있습니다. db2는 AS400 플랫폼을 실행 중입니다. 그래서 그 심볼을 이해하지 못하는 java.String과 java.lang에 문제가 발생했다. – Evilsithgirl
'—'은 'em-dash'('-'와 유사하지만 다른 문자)의 html 인코딩입니다. 이것은 데이터베이스의 문자열이 웹 페이지로 직접 출력되고 있음을 나타냅니다. 나는 그것이 'Â'문자로 잘못 번역되는 방식을 이해할 수 없었습니다 (관련 데이터 포인트를 공유하지 않는 것처럼 보입니다). 자바가 실제로 삽입물보다 먼저 생각하는 부분은 무엇입니까? (당신이 얻는 오류는 데이터베이스에서 생성 될 가능성이 큽니다. 따라서 여러 개의 번역이있을 수 있습니다)? –