| Author | 
		  Message
		 | 
		
		  | mzm.shan | 
		  
		    
			  
				 Posted: Wed Mar 11, 2015 11:51 pm    Post subject: URDU Language convertion to Hex characters. | 
				     | 
			   
			 
		   | 
		
		
		   Apprentice
 
 Joined: 25 Aug 2013 Posts: 39
  
  | 
		  
		    
			  
				Hello everyone,
 
 
I am tring to convert URDU character convertion to Hex using the following statemnt in esql
 
 
SET ref.UrduTemplate = 'ٹ';
 
DECLARE UrduTempleteBLOB1 BLOB CAST(ref.UrduTemplate as BLOB CCSID 868) ;
 
 
the CCSID 868 i saw on the following link for my relevant language.
 
http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.dev.doc/q104460_.htm
 
 
Interesting part is the ERROR below showing a converted HEX which is 7606 while the correct HEX should be 0676.........
 
 
Please help what should i do to get the correct equalent 0676 hex agianst this letter and resolve this error......????
 
 
 
			Text:CHARACTER:DECLARE UrduTempleteBLOB1 BLOB CAST(ref.UrduTemplate AS BLOB CCSID 868);
 
							RecoverableException
 
									File:CHARACTER:F:\build\slot1\S900_P\src\DataFlowEngine\ImbRdl\ImbRdlTypeCast.cpp
 
									Line:INTEGER:268
 
									Function:CHARACTER:SqlTypeCast::evaluate
 
									Type:CHARACTER:
 
									Name:CHARACTER:
 
									Label:CHARACTER:
 
									Catalog:CHARACTER:BIPmsgs
 
									Severity:INTEGER:3
 
									Number:INTEGER:2521
 
									Text:CHARACTER:Error while casting
 
									Insert
 
											Type:INTEGER:5
 
											Text:CHARACTER:.FileInputWithDFDL_Compute1.Main
 
									Insert
 
											Type:INTEGER:5
 
											Text:CHARACTER:19.34
 
									Insert
 
											Type:INTEGER:5
 
											Text:CHARACTER:'ٹ'
 
									Insert
 
											Type:INTEGER:5
 
											Text:CHARACTER:BLOB
 
									RecoverableException
 
											File:CHARACTER:F:\build\slot1\S900_P\src\CommonServices\ImbConverter.cpp
 
											Line:INTEGER:372
 
											Function:CHARACTER:ImbConverterCPP::internalFromUnicode
 
											Type:CHARACTER:
 
											Name:CHARACTER:
 
											Label:CHARACTER:
 
											Catalog:CHARACTER:BIPmsgs
 
											Severity:INTEGER:3
 
											Number:INTEGER:2136
 
											Text:CHARACTER:Unconvertable character
 
											Insert
 
													Type:INTEGER:5
 
													Text:CHARACTER:7906
 
											Insert
 
													Type:INTEGER:5
 
													Text:CHARACTER:7906
 
											Insert
 
													Type:INTEGER:2
 
													Text:CHARACTER:868 | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Thu Mar 12, 2015 4:30 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				May be you have the wrong endian-order specified?   _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kimbert | 
		  
		    
			  
				 Posted: Thu Mar 12, 2015 4:36 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 29 Jul 2003 Posts: 5543 Location: Southampton 
  | 
		  
		    
			  
				The character that you are trying to encode is GCGID AT030009.
 
In Unicode this character is U0000679 ARABIC LETTER TTEH
 
...as shown here :http://www-01.ibm.com/software/globalization/gcgid/arabic.html
 
 
You are trying to write AT030009 ( or U0000679 ) using CCSID 868.
 
http://www-01.ibm.com/software/globalization/ccsid/ccsid868.html
 
 
The characters in CCSID 868 are listed here:
 
ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CS01248.txt
 
...and AT030009 is not one of them.
 
 
Summary: CCSID 868 does not contain the character that you are trying to write. You will need to select a different CCSID. Any good reason why you are not using CCSID 1208 ( UTF-8 )? Or CCSID 1200 ( UTF-16 )? _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Thu Mar 12, 2015 5:00 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				| Also, if you are trying to write the character "in Hex", then you might try removing the CCSID entirely.  That will (or, maybe, should) produce a hexadecimal representation of the bytes of the character value. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kimbert | 
		  
		    
			  
				 Posted: Thu Mar 12, 2015 5:15 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 29 Jul 2003 Posts: 5543 Location: Southampton 
  | 
		  
		    
			  
				
   
	| Quote: | 
   
  
	| you might try removing the CCSID entirely. That will (or, maybe, should) produce a hexadecimal representation of the bytes of the character value. | 
   
 
Possibly. It depends on 
 
a) what the OP means by 'in Hex' and
 
b) what you mean by 'the bytes of the character value'
 
Personally, I would prefer to be explicit about the CCSID so that I know exactly what to expect. _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Thu Mar 12, 2015 5:25 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				
   
	| kimbert wrote: | 
   
  
	
   
	| Quote: | 
   
  
	| you might try removing the CCSID entirely. That will (or, maybe, should) produce a hexadecimal representation of the bytes of the character value. | 
   
 
Possibly. It depends on 
 
a) what the OP means by 'in Hex' and | 
   
 
 
Yes, that was part of my point... 
 
   
	| kimbert wrote: | 
   
  
	| b) what you mean by 'the bytes of the character value' | 
   
 
 
I meant, for example that in ASCII, the letter a is binhexed to '61'. So the 'character value' is 'a', and the bytes that represent it are displayed in bin->hex as '61'. 
 
   
	| kimbert wrote: | 
   
  
	| Personally, I would prefer to be explicit about the CCSID so that I know exactly what to expect. | 
   
 
 
Sure, if one is trying to convert between codepages.  If one is merely trying to create a character representation of byte values, one might not. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kimbert | 
		  
		    
			  
				 Posted: Thu Mar 12, 2015 5:28 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 29 Jul 2003 Posts: 5543 Location: Southampton 
  | 
		  
		    
			  
				
   
	| Quote: | 
   
  
	| I meant, for example that in ASCII, the letter a is binhexed to '61' | 
   
 
Exactly. But the characters in the message tree are Unicode ( UTF-16, platform endian), not ASCII. The default CAST-to-BLOB behavior will probably produce either UTF-16BE or UTF-16LE depending on the endian-ness of the platform. _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Thu Mar 12, 2015 5:30 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				
   
	| kimbert wrote: | 
   
  
	| The default CAST-to-BLOB behavior will probably produce either UTF-16BE or UTF-16LE depending on the endian-ness of the platform. | 
   
 
 
Oh, right, I was thinking of the default BLOB->Char casting behavior.
 
 
  | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |