When using Google Cloud Load Balancer, you can add certain fields to custom headers such as {client_city}, which (surely?) are unicode strings.
I cannot find in the documentation how these are encoded in the header (bearing in mind that HTTP headers are ASCII only, or possibly Latin-1 according the "obsolete" productions in the HTTP RFC).
Since I'm in a city with an ASCII name, I've not been able to run a test from my local box.