[oodisc] API и вставка русского языка программно
Ruslan Spivak
alienoid на is.lg.ua
Пт Мар 7 12:24:18 MSK 2003
Здравствуйте!
Нужна Ваша помощь, Столкнулся с проблемой и самому не получается решить.
У меня есть документ с русским языком, в нем есть некоторые переменные
%%fullname%%, которые мне необходимо программно заменить на
соответсвующие русские слова, т.е %%fullname%% на Пупкин В.В.
Я использую PyUNO, поиск и замена на английские слова не вызывает
проблем, но мне необходимо вставить русский текст, а вот он после
вставки в документ выглядит как ????????? Не знаю что делать.
Вот мой код
xStorable = None
try:
rUNO = UNO()
properties = [ {
'Name' : 'Hidden',
'Value' : rUNO.newBoolean(1)
}]
rProperties = rUNO.newPropertyValues ( properties )
xStorable = rUNO.new ("file://%s" % filename,
propertyValues=rProperties )[0]
properties = [ { 'Name' : 'FilterName',
'Value' :
'swriter: StarOffice XML Writer)' },
{ 'Name' : 'Overwrite',
'Value' : rUNO.newBoolean(1) }
]
rProperties = rUNO.newPropertyValues ( properties )
# search and replace
searchDesc = xStorable.createSearchDescriptor()[0]
searchDesc.setSearchString("%%fullname%%")
foundList = xStorable.findAll(searchDesc)[0]
for i in range(foundList.Count):
res = foundList.getByIndex(i)[0]
# sourceString is string in russian
#(already in utf-8), here i use direct conversion but
#the result is the same string
replaceStr = unicode(sourceString,
'UTF-8').encode('UTF-8')
res.setString(replaceStr)
xStorable.storeAsURL ("file://%s" % filename, rProperties )
except:
pass
В результате получаю файл Agreement.sxw, весь старый русский текст виден
нормально, а замененное слово видно как ????????????
Не знаю как быть, очень нужно решить эту проблему.
Спасибо заранее за помощь
Руслан
Подробная информация о списке рассылки Oo-discuss