Dne pátek, 21. ledna 2005 10:45 Jaroslav Lukesh napsal(a):
Do you have somebody tip for encoding national characters into wap?
For example, character in latin-2 interpreted as "č" need to be interpreted in utf8 for wml as "č"
So here are solution, new zope tag :o). Simply place __init__.py file listed below into some new subfolder in lib/python/Products folder and place <dtml-nationaxmlizer> nationalized text here with ěščřžýáíéďťňóúůöëäü </dtml-nationaxmlizer> text between these new tags in your page. Enjoy! __init__.py: from string import split, strip, join, find import locale import DocumentTemplate.DT_Util from DocumentTemplate.DT_String import String class NationaXMLizer: """ Function: * Remove redundant whitespaces based on 'unitws' tag from Toby Dickenson <tdickenson@geminidataloggers.com> * Replace characters >128 with x; entities in respect with defined codepage (cp1250), see znak.decode('yourcodepage') and define your own Simply place this file named as __init__.py into some new subfolder in lib/python/Products folder and place <dtml-nationaxmlizer> nationalized text here with national characters </dtml-nationaxmlizer> text between these new tags. 2005-01-24 by Jaroslav Lukesh, lukesh@seznam.cz """ name='nationaxmlizer' blockContinuations=() def __init__(self, blocks): tname, args, section = blocks[0] args = DocumentTemplate.DT_Util.parse_params(args) self.blocks = section.blocks def render(self,md): data = DocumentTemplate.DT_Util.render_blocks(self.blocks, md) a = [] for line in split(data,'\n'): line = strip(line) if line: b = [] for word in split(line,' '): if word!='': wordxml='' strip(word) for i in range(len(word)): znak=word[i] n=ord(znak) if n>= 128: #this does not work in Pythoon 2.1.3!!! #wordxml=wordxml+''+(hex(ord(znak.decode('cp1250'))))+';' wordxml=wordxml+''+(hex(ord(unicode(znak,'cp1250'))))+';' else: wordxml=wordxml+znak b.append(wordxml) a.append(join(b,' ')) return join(a,'\n') __call__=render String.commands['nationaxmlizer']=NationaXMLizer -- Jaroslav Lukesh ----------------------------------------------------------- This e-mail can not contain any viruses because I use Linux