Hi, I'm debugging a WCF web service on Linux that's using System.Data.Odbc and unixODBC to connect to DB2 running on another server. I get an error message when I try to connect to the database, but that's not my main concern. The error message seems to be using the wrong encoding, because the response looks like this:
<Fault xmlns="http://schemas.microsoft.com/ws/2005/05/envelope/none"> <Code> <Value xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:InternalServiceFault</Value> </Code> <Reason> <Text xml:lang=""> ERROR [䤀䴀 ㈀] 嬀甀渀椀砀伀䐀䈀䌀崀嬀䐀爀椀瘀攀爀 䴀愀渀愀最攀爀崀䐀 愀琀愀 猀漀甀爀挀攀 渀愀洀攀 渀漀琀 昀漀甀渀搀Ⰰ 愀渀搀 渀漀 搀攀昀愀甀氀 琀 搀爀椀瘀攀爀 猀瀀攀挀椀昀椀攀搀 </Text> </Reason> ... etc I piped the result through `iconv -f UTF-8 -t UTF-16BE`, and discovered the error (spaces were included in the response): E R R O R [I M 0 0 2 ] [ u n i x O D B C ] [ D r i v e r M a n a g e r ] D a t a s o u r c e n a m e n o t f o u n d , a n d n o d e f a u l t d r i v e r s p e c i f i e d So now I know what the problem is, but why is the error message coming back like that? Is this a unixODBC problem? `locale` is: LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= Any ideas would be appreciated. Thank you, Jeff _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list