I use python 2.7 and it turned out that datetime.strftime produces different output on different environments (both unix-based) with the same locale settings.
locale.setlocale(locale.LC_ALL, ('RU', 'utf-8'))
print locale.getlocale()
print datetime.date.today().strftime("%Y %d %B, %A")
On first env I got:
('ru_RU', 'UTF-8')
2016 21 января, четверг (month name is in genitive form)
On the second:
('ru_RU', 'UTF-8')
2016 21 Январь, Четверг (month name is in infinitive form)
As you can see there are also some differences in upper/lowercase letters. PYTHONIOENCODING is set to utf_8 in both cases.
What is the reason of this behavior and more important is there a way to make the second env work the way the first does?