설치 : asp.net/c#에 양식이 있습니다. 제출시 XML이 개체 모델을 serialize하고 XML serialize 된 데이터를 유일한 매개 변수로 사용하여 저장 프로 시저를 호출합니다. . 저장 프로 시저가 해당 데이터를 SQL 브로커 큐로 보냅니다. 브로커 큐로 보낸 메시지는 큐에 설정된 메시지 계약을 준수하는 유효한 XML이어야합니다. 이 메시지는 BizTalk에서 가져 와서 적절하게 처리됩니다.SQL Service Broker Queue 메시지의 외래 문자 처리
문제점 : 원래 나에게 제출 된 데이터는 정규 영어 문자 (기본적으로 ASCII 문자 세트로되어 있음) 였지만 외국 문자도 지원해야한다는 요구 사항이 있습니다. 내 테스트에서 외국 문자 (중국어, 아랍어 등)를 사용하여 제출하려고하면 대기열에 오류가 발생하고 BizTalk에 도착하는 메시지는 "?????"로 끝납니다. 외국 문자 대신. 나는 문서 상단에 utf = 16 xml 헤더를 추가했으나 도움이되지 않습니다.
질문 : 들어오는 XML 메시지를 nvarchar로 캐스팅하고 큐에 의해 유효한 XML로 간주되는 방법이 있습니까? 큐의 실제 유형을 변경하거나 다시 만들고 싶지 않습니다. 저장 프로 시저에서 메시지를 큐에 넣을 수있는 방법으로 변경하는 것을 선호합니다.
미리 도움을 주셔서 감사합니다.