Есть следующий код:
onchange="submitForm('csv_table', 'csv_table.cgi', this.value, 'file.csv', ';')"
и дальше
function submitForm(par1, par2, par3, par4, par5, par6) {
...
}
Доходит всё, кроме точки с запятой. Как я понимаю, она воспринимается программой как разделитель полей и поскольку за ней нет ничего - приходит "пусто".
Идеальным вообще был бы вариант, когда всё это можно было бы упаковать в массив, например, как это делается на Perl:
@args = ($a, $b, $c);
system @args;
И дальше уже не твоя забота экранировать значения.