2012-02-01 16 views
1

この問題を解決するために数時間掛かりましたが、何も見つかりませんでした。申し訳ありませんが、インターネット上のどこかに回答があれば、本当に見つかりませんでした。NSStringをウムラウトでconst char *に変換してください。

私はNSString *header = @"ästrç";、またはドイツ語、スウェーデン語などの他のウムラウトを持っています。

const char* cString = [header cStringUsingEncoding: NSASCIIStringEncoding]; 

注:NSASCIIStringEncodingNSMacOSRomanStringEncodingが動作していない

私はこのNSStringがに変換する必要があります。

また、私はこれを試してみました:

const char *cString = [header UTF8String]; 

は働いていません。

誰かが私を助けてくれますか?これは非常に奇妙です。

EDIT: Input

それはなり出力この:

私はこれらの文字を持っている場合という意味で "動作しない" ことで Output

を私はのNSLogを気にしません。

HPDF_Page_TextOut (HPDF_Page page, HPDF_REAL xpos, HPDF_REAL ypos, const char *text) 
+2

最後のもの( ' - [NSString UTF8String]')が動作するはずです。 "働かない"と定義する。 –

答えて

3

const char *cString = [header UTF8String]動作しますが、あなたはおそらく NSLog("%s, cString);でそれをテストしている:私は、PDFに書き込むための方法についてのconstのchar *があることが必要です。 %sはないUTF-8ASCII文字列を期待しているので、

のNSLogは、動作しません。

詳細:convert NSString to const char *

+0

私はすでにそれを見たことがあります。ちょうどそれは私が必要とするもののために働かない。私の上記の編集。 –

+2

@benyboariuあなたは 'HPDF_Page_TextOut'関数が受け入れるエンコーディングを知る必要があります。 – Krizz

+0

私の心がどこにあるのか分かりません。もちろん、私はそのメソッドがどのようなエンコーディングを受け入れるかを見なければなりませんでした。今働いている。どうもありがとうございました。 –