I am trying to code a memory reaction task is which participants have to respond to a list of words that is presented on screen (one word at a time). The words that are presented contain ‘ä’,‘ö’,‘ü’ and ‘ß’. I am having trouble displaying these. I am using Psychopy 1.85.2 and can currently not switch to a newer version.
For simply displaying words I know I can use u’ , but I want to get the information from a variable that contains the whole list of words. I have tried different things, but it just keeps getting more confusing. For a code example that might be close to what I want, see the code below, which however results in the following error message:
objecttestword = generateText(u"’"+ target_words[test_word])
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xf6 in position 5: ordinal not in range(128)
#!/usr/bin/env python2 # -*- coding: utf-8 -*- from psychopy import locale_setup, sound, gui, visual, core, data, event, logging # Generate preformatted text def generateText(text): return visual.TextStim( win, color='#000000', text = text, units='norm', height=0.05, pos=[0,0], alignVert='center' ) # create arrays that hold the words that will appear on screen target_words = [u'der Löwe', u'die Flöte'] # make fullscreen win = visual.Window([1920,1200], monitor="testMonitor", units="norm", fullscr= True, color='#FFFFFF') #'fullscr=True' win.setMouseVisible(False) ## Create Memory Test def doMemoryTest(): instructionMemTest = generateText(u'Instruktionen') instructionMemTest.draw() win.flip() event.waitKeys('w') for test_word in range(len(target_words)): target_words[test_word] = target_words[test_word].encode('iso-8859-1') objecttestword = generateText(u"'"+ target_words[test_word]) objecttestword.draw() win.flip() event.waitKeys('1' '2') doMemoryTest()