Unable to display special characters for western European charactersets eg: the name “CÜNE LA VERçNICA” is displayed as
C?NE LA VER?NICA when source schema is applied in Biztalk 2006. The special character gets transformed to ‘?’
The code flow:-
There are 2 components through which the Flat File passes before getting displayed/inserted into DB.
CustomPipeLineComponent and Biztalk ReceivePipeline component
1. PipleLineComponent which is a .NET dll reffered to as the ComponentHandleMetaData in the Pipeline Component Properties of Biztalk (This component will inject the metadata in the beginning of the inflowing Flat file data).
Initially Flat file data flowing into the pipelinecomponent was missing the special characters, so after adding
System.Text.Encoding.GetEncoding(1252) for the incoming string, the special character could be seen in the Flat file string.
Sample code:
public Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(Microsoft.BizTalk.Component.Interop.IPipelineContext pc, Microsoft.BizTalk.Message.Interop.IBaseMessage inmsg)
{
StreamReader sr = new streamReader(inmsg.BodyPart.GetOriginalDataStream(), System.Text.Encoding.GetEncoding(1252));
string sData = sr.ReadToEnd();
return inmsg;
}
2.This IBaseMessage inmsg is fed into the FlatFile Disassembler of Biztalk 2006 ReceivePipeLine, this is where it is unable to interpet the special charater and displays as “?”.
Tried setting CodePage property in the Biztalk Schema.xsd to Western-European (1252)but does not work.
Any help would be greatly appreciated.
Thanks