utf8, newcommand and umlaut

In my document, which is encoded as utf8 throughout (hopefully), umlaute etc. in the document body are put out correctly, but those defined in a \newcommand are not. I have tried some alternatives to writing the unlaute plain, and \symbol works, while the international accent does not, and I'd rather not use it since it is a little cumbersome.

See the following example:

\newcommand{\myPlace}{Örtlichkeit}
\newcommand{\myWhat}{\"{O}rtlichkeit}
\newcommand{\myHmm}{Stra\symbol{255}e}

\documentclass{scrlttr2}

\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\begin{document}

\myPlace

\myWhat

\myHmm

ÖÄÜäöüß
\end{document}


Thanks for any input!

-
Thanks! That was a really stupid error. I adapted the document, and changed the inputenc. I even thought "Maybe I should check the position of the newcommand before I open a question ..." :/ If you put this is an answer, I will gladly mark it as correct. e: Oh, the other mistake was even more stupid ... not my day today! –  Narretz Sep 21 '12 at 12:06
@Narretz - I've resubmitted my comment as an answer, per your suggestion. I've also fixed the typo in the second \newcommand instruction. –  Mico Sep 21 '12 at 12:15

If you move the three \newcommand instructions to a point after the \usepackage[utf8]{inputenc} instruction, you won't experience the problems you're reporting.
For a full answer babel shorthands are missing, they are available after package babel is loaded and activated in \begin{document} for the main language by default. –  Heiko Oberdiek Sep 21 '12 at 12:59
@HeikoOberdiek I wouldn't recommend to the general public starting a file with \catcode declarations. ;-) –  egreg Sep 21 '12 at 14:54