2011-02-09 17 views
3

私はすべての標準的なUIKitコントロールを使用してApp Storeに簡単なプログラムを持っていますが、今ではキリル文字と韓国語がサポートされていないと批評するレビュー担当者もいます。 UIKitコントロールは、そのままUnicodeを使用しないのですか?iPhone/iPadアプリでキリル文字をサポートするには?

この問題を解決するにはどうすればよいですか?

+0

テストデバイスでキリル文字と韓国語のキーボードを有効にしてバグを再現しましたか?彼らは何の不具合を報告していますか?クラッシュ?奇妙なキャラクター? – CajunLuke

答えて

2

すべてのCocoa NS/CFStringは、Unicodeに準拠しています(内部ではUCS-2)。ロシア語と韓国語のアルファベットが含まれています。したがって、データがある時点でシングルバイト文字形式(たとえばC char[]文字列)を通過しない限り、すべての有益な言語と文字セットは自動的にサポートされる必要があります。ストレージとワイヤフォーマットには十分注意してください。それはASCIIが通常隠れるところです。

WebまたはHTTPベースのAPIからデータをダウンロードする場合は、Content-Typeヘッダー内の文字セットに注意してください。 NSDataまたは生のメモリチャンクからNSStringに変換するとき、エンコーディングは常にパラメータの1つです。

そして、CajunLukeが言ったように、問題を再現することから始めます。 「lorem ipsum」タイプのテキストが必要な場合は、それぞれのWikipediaからランダムなナンセンスをコピーして貼り付けてください。

私はロシア語と日本語を同時に扱う店舗内のアプリを持っています(それは日本語 - ロシア語の辞書です)。国家のキャラクター支援を確実にするための特別な措置は講じられなかった。しかし、シングルバイト文字列で作業するときは、どの文字セットが使用されているのかを覚えておいてください。

+0

JSON REST Webサービスを使用してGoogleタスクに接続しています。そのため、コンテンツタイプのヘッダーである必要があります。すべての言語をサポートするためにどちらを使用すればよいですか? – Kristof

+0

通常は1つのコンテンツタイプを使用することはできません。また、文字セットはサーバーが送信するものです。逆もありません。レスポンスに付属するコンテンツタイプを分析し、その文字セットを抽出し、Cocoaがサポートしているもののリストから最適なエンコーディングを選択します。 Googleタスクで何らかの方法でエンコードを選択できる場合は、UTF-8を使用してください。 –

0

私は昨日日本語をテストしました。これは、シミュレータの「すぐに」すぐに使用できます(キャンセルや完了などの定義済みテキスト文字列用)。システム環境設定>言語&テキストをチェックすると、私は多くの言語がサポートされていることがわかります(OSのインストール時に意図的に行ったことがあります)。

私はあなたが既にAppleのInternationalization Programming Topicsを読んでいると仮定しています。

ローカライズされたテキストを表示するには、ほとんどの場合、自分で作成してLocalizable.stringsと.XIBファイルに配置する必要があります。あなたはNSLocalizedString()を読みたいと思うでしょう。

関連する問題