convert GSM 7-bit encoded text to utf-8

shouldn't this method do the job (it does not - no change to see in the message):

void printASCIICode(char * myString) {
  for(unsigned i=0;i<strlen(myString);i++) {
    Serial.println(myString[i],HEX);
    if(myString[i] == 0xf6) {
      Serial.println("Replace");
      myString[i] = 246; // oe = 0xc3,0xb6
    }
  }
}

Oh - just saw that 0xf6 = 246... so I'm replacing the character with an identical value. Smart...
But why does the original character comes as 0xf6 and does not display as "ö" and if I check the hex value of an UTF8 "ö" I get 0xf6 too but this this time it will be displayed?!