Interstingly found that quotes are necessary around the password for OSQL if the password contains special characters.
Take the following password, spoon12free^$ and create a sql authenticated account with that password and then try to use osql with some simple query, without quotes you receive a login f
osql -S(local) -dmaster -Umy_user -Pspoon12free^$ -Q"select getdate()"
This results in a failure.
The following is successfull:
osql -S(local) -dmaster -Umy_user -P"spoon12free^$" -Q"select getdate()"
something new every day.