0

次のコードは、指定された URL から XML を受信して​​出力します。

NSURL *url = [NSURL URLWithString:urlString];
NSString *xmlString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@", xmlString);

シミュレーターでコードを実行すると、XML フィールドの 1 つが次のようになります。

<string><![CDATA[€ 45]]></string>

一方、コードが iOS デバイスで実行されると、同じ XML フィールドが次のように表示されます。

<string><![CDATA[45 €]]></string>

ただし、どちらの場合もフィールドが次の場合、ユーロ記号の代わりにドル記号がある場合、これは発生しません。

<string><![CDATA[$ 45]]></string>

なぜこれが起こっているのか、またはそれについて何ができるのかについてのアイデアはありますか?

どんな入力でも大歓迎です。ありがとう。

4

1 に答える 1

0

モバイル デバイスと開発マシンの地域設定が同じではないため、スマート Web サービスに違いが生じます。

私の経験からすると、いくつかの API がAccept-Language自動的に追加され、バックエンドがローカライズされたデータベースからデータを取得するのが最善の方法でしたが、すべてのテストが英語のデバイス構成に対して行われたために失敗しました。システム構成に頼るのではなく、優先言語ヘッダーを手動で追加することで、このような問題を回避できました。

于 2012-11-02T10:54:24.310 に答える