'''
This function is slow and ugly, but I need a way to safely print unicode strings
on systems that don't support it without crippling those who do.
'''
def safeprint(text, file_handle=None, end='\n'):
    for character in text:
        try:
            if file_handle:
                file_handle.write(character)
            else:
                print(character, end='', flush=False)
        except UnicodeError:
            if file_handle:
                file_handle.write('?')
            else:
                print('?', end='', flush=False)
    if not file_handle:
        print(end, end='', flush=True)
