Well, in your code there is:
var url = surveyRoot+"upload/themes/survey/extends1_bootswatch/gemeindenamen_liste.csv";
So I said "Add a parameter like {Q1}{Q2}" you can do it like this
var url = surveyRoot+"upload/themes/survey/extends1_bootswatch/gemeindenamen_liste{Q1}{Q2}.csv";
You get smaller lists and maybe it's easier to handle and nobody can answer "Tirol" and "Eisenstadt"
And if I include the list directly as array there are no problems with German Umlauts.
Code:
$('#question'+qID+' input[type="text"]').autocomplete({
minLength: 2,
source: [
"Eisenstadt",
"Rust",
"Breitenbrunn am Neusiedler See",
"Donnerskirchen",
"Großhöflein",
"Hornstein",
"Klingenbach",
"Leithaprodersdorf",
"Mörbisch am See",
"Müllendorf",
"Neufeld an der Leitha",
"Oggau am Neusiedler See",
"Oslip",
"Purbach am Neusiedler See",
....