¿Cómo enviar una cadena Unicode que no esté en inglés usando el encabezado HTTP?

Soy novato en asuntos relacionados con HTTP. Mi pregunta está en el desarrollo de iOS, me gustaría enviar una cadena usando el Encabezado HTTP, así que estoy usando:

[httpRequest setValue:@"nonEnglishString" forHTTPHeaderField:@"customHeader"];

El servidor receptor es Python (Google App Engine), guardando el valor de cadena en el modelo db como StringProperty usando:

dataEntityInstance.nonEnglishString = unicode(self.request.headers.get('customHeader')

Sin embargo, el problema es cuando trato de enviar una cadena que no está en inglés como coreano, se guarda en el encabezado HTTP de esta manera:

Customheader = "\Uc8fc\Uba39\Uc774 \Uc6b4\Ub2e4";

y cuando lo recibe Google App Engine y se guarda en DataStore, cambia para ser así:

??? ??

como si no puede encontrar los caracteres adecuados para el valor Unicode.

¿No es POSIBLE o PERMITIDO enviar cadenas que no estén en inglés usando el Encabezado HTTP?

Si mi iOS usa solo setHTTPBody, puede transferir cadenas que no estén en inglés y guardarlas en el DataStore de App Engine correctamente.

[httpRequest setHTTPBody:[httpBody dataUsingEncoding:NSUTF8StringEncoding]];

Pero simplemente no puedo encontrar la manera correcta de lograr el mismo objetivo usando Encabezados HTTP, como lo que hacen muchas API como Foursquare y guardar las cadenas en las formas adecuadas en el DataStore de Google App Engine basado en Python

Respuestas a la pregunta(2)

Su respuesta a la pregunta