Peng Yu wrote: > Hi, The following code shows that "Michał" is printed differently for > print(yaml.safe_dump(...)) and the direct print. Does anybody know how > to use yaml.safe_dump() so that "Michał" will be printed as is. > > ~$ cat main.py > #!/usr/bin/env python > # vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 > # fileencoding=utf-8: > > import yaml > > foo = { > u'first': u"Michał", > u'last': u"Seweryn", > } > > print foo['first'] > > print(yaml.safe_dump(foo, default_flow_style=True).encode('utf-8')) > print(yaml.safe_dump(foo, default_flow_style=False).encode('utf-8')) > ~$ ./main.py > Michał > {first: "Micha\u0142", last: Seweryn} > > first: "Micha\u0142" > last: Seweryn >
Use the allow_unicode flag: >>> print yaml.safe_dump(foo, allow_unicode=True, default_flow_style=False) first: Michał last: Seweryn -- https://mail.python.org/mailman/listinfo/python-list