uunicode literals as treated as normal strings in as of $ , , ps , = , ps , eur , eur , $? , if this works on your computeryou can probably skip the next few paragraphs depending on your interface and system settingsthoughgetting this to run and display properly may require additional steps on my machineit behaves correctly when python and the display medium are in syncbut the euro and generic currency symbols in the last two lines fail with errors in basic command prompt on windows specificallythis test script always runs and produces the output shown in the idle gui in both and xbecause unicode-to-glyph mappings are handled well it also works as advertised in on windows if you redirect the output to file and open it with notepadbecause encodes content on this platform in default windows format that notepad understandsc:\codeformats_currency py temp :\codenotepad temp howeverthis doesn' work in xbecause python tries to encode printed text as ascii by default to show all the non-ascii characters in windows command prompt window directlyon some computers you may need to change the windows code page (used to render charactersas well as python' pythonioencoding environment variable (used as the encoding of text in standard streamsincluding the translation of characters to bytes when they are printedto common unicode format such as utf- :\codechcp :\codeset pythonioencoding=utf- :\codeformats_currency py temp :\codetype temp :\codenotepad temp console matches python python matches console both and write utf- text console displays it properly notepad recognizes utf- too you may not need to take these steps on some platforms and even on some windows distributions did because my laptop' code page is set to ( characters)but your code pages may vary subtlythe only reason this test works on python at all is because allows normal and unicode strings to be mixedas long as the normal string is all -bit ascii characters on the uunicode literal is supported for compatibilitybut taken the same as normal stringswhich are always unicode (removing the leading makes the test work in through toobut breaks compatibility) :\codepy - print '\xa ' ''% '\ = ps xunicode/str mix for ascii str :\codepy - exampledual mode code