diff --git a/openerp/addons/base/ir/ir_qweb.py b/openerp/addons/base/ir/ir_qweb.py
index ae47d662dd1..f74170de46c 100644
--- a/openerp/addons/base/ir/ir_qweb.py
+++ b/openerp/addons/base/ir/ir_qweb.py
@@ -845,9 +845,9 @@ class MonetaryConverter(osv.AbstractModel):
pre = post = u''
if display_currency.position == 'before':
- pre = u'{symbol} '
+ pre = u'{symbol}\N{NO-BREAK SPACE}'
else:
- post = u' {symbol}'
+ post = u'\N{NO-BREAK SPACE}{symbol}'
return HTMLSafe(u'{pre}{0}{post}'.format(
formatted_amount,
@@ -1006,9 +1006,9 @@ class QwebWidgetMonetary(osv.AbstractModel):
)
pre = post = u''
if display.position == 'before':
- pre = u'{symbol} '
+ pre = u'{symbol}\N{NO-BREAK SPACE}'
else:
- post = u' {symbol}'
+ post = u'\N{NO-BREAK SPACE}{symbol}'
return u'{pre}{0}{post}'.format(
formatted_amount, pre=pre, post=post
diff --git a/openerp/addons/test_converter/tests/test_html.py b/openerp/addons/test_converter/tests/test_html.py
index aef7badfe3a..2f50602c115 100644
--- a/openerp/addons/test_converter/tests/test_html.py
+++ b/openerp/addons/test_converter/tests/test_html.py
@@ -130,10 +130,10 @@ class TestCurrencyExport(TestExport):
'data-oe-field="value" data-oe-type="monetary" '
'data-oe-expression="obj.value">'
'0.12'
- ' {symbol}'.format(
+ u'\N{NO-BREAK SPACE}{symbol}'.format(
obj=obj,
symbol=currency.symbol.encode('utf-8')
- ),)
+ ).encode('utf-8'),)
def test_currency_pre(self):
currency = self.create(
@@ -147,12 +147,12 @@ class TestCurrencyExport(TestExport):
''
- '{symbol} '
+ u'{symbol}\N{NO-BREAK SPACE}'
'0.12'
''.format(
obj=obj,
symbol=currency.symbol.encode('utf-8')
- ),)
+ ).encode('utf-8'),)
def test_currency_precision(self):
""" Precision should be the currency's, not the float field's
@@ -168,10 +168,10 @@ class TestCurrencyExport(TestExport):
'data-oe-field="value" data-oe-type="monetary" '
'data-oe-expression="obj.value">'
'0.12'
- ' {symbol}'.format(
+ u'\N{NO-BREAK SPACE}{symbol}'.format(
obj=obj,
symbol=currency.symbol.encode('utf-8')
- ),)
+ ).encode('utf-8'),)
class TestTextExport(TestBasicExport):
def test_text(self):
diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py
index 3abd1cb85f9..8f7de6d5cce 100644
--- a/openerp/report/report_sxw.py
+++ b/openerp/report/report_sxw.py
@@ -246,9 +246,9 @@ class rml_parse(object):
res = self.lang_dict['lang_obj'].format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary)
if currency_obj:
if currency_obj.position == 'after':
- res='%s %s'%(res,currency_obj.symbol)
+ res = u'%s\N{NO-BREAK SPACE}%s' % (res, currency_obj.symbol)
elif currency_obj and currency_obj.position == 'before':
- res='%s %s'%(currency_obj.symbol, res)
+ res = u'%s\N{NO-BREAK SPACE}%s' % (currency_obj.symbol, res)
return res
def display_address(self, address_record, without_company=False):