2012-02-01 96 views
1

我用了幾個小時來解決這個問題,並且什麼都沒發現。對不起,如果答案是在互聯網上的某個地方,我真的找不到它。將帶變音符號的NSString轉換爲常量字符*

我有一個NSString *header = @"ästrç";或與德國,瑞典等語言的任何其他元音變音。

我需要這個NSString轉換爲:

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

注:NSASCIIStringEncodingNSMacOSRomanStringEncoding不工作。

我也試過這樣:

const char *cString = [header UTF8String]; 

不工作。

有人可以幫我嗎?這很奇怪。

編輯:

通過 「不工作」 我的意思是,如果我有這些字符: Input

它會輸出這樣的: Output

我不在乎的NSLog的。我需要爲const char *一種方法來在PDF寫:

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

最後一個(' - [NSString UTF8String]')應該可以工作。定義「不工作」。 – 2012-02-01 18:31:29

回答

3

const char *cString = [header UTF8String]會的工作,但你可能與 NSLog("%s, cString);測試它。

的NSLog將無法正常工作,因爲%s期待ASCII字符串UTF-8

詳情:convert NSString to const char *

+0

我已經看到,以及其他許多帖子。只是它不適合我需要的東西。上面我的編輯。 – 2012-02-01 19:47:39

+2

@benyboariu你將不得不學習'HPDF_Page_TextOut'函數接受的編碼。 – Krizz 2012-02-01 19:53:43

+0

我不知道我的想法在哪裏。當然,我必須看看該方法接受的編碼。現在工作。非常感謝你。 – 2012-02-02 03:28:24