1

在我的应用程序中使用自定义字体时,我遇到了特殊字符(如 â é ü)的问题。

出于某种原因,它用看似随机的字符替换了重音字符。我正在尝试将 aUILabel的文本设置为Château这个词,但这两个:

myLabel.text = [NSString stringWithFormat:@"Château"];

和 (

myLabel.text = [NSString stringWithFormat:@"Ch\u00E1teau"];

正在将标签文本设置为Ch,teau。这仅在使用自定义字体时发生,当我在控制台中记录结果时,会显示正确的字符。我尝试设置不同的字符串编码。这些字符存在于字体中(如果我在 TextEdit、MS Word 等中键入相同的单词,它会显示得很好),我还验证并检查了 FontBook 中的字体。这是一个 .OTF 字体。

任何想法发生了什么?

4

2 回答 2

3

并非所有字体集都有所有字符。在 windows 中打开字符映射加载您的自定义字体并查看它是否存在。可能是字体的作者有意将其置于错误的代码中。看看这两种字体的区别

于 2012-08-28T17:07:30.570 回答
1

尝试:

[NSString stringWithFormat:@"Ch\u00E1teau"]

请注意,正斜杠已更改为反斜杠。

PS:在实际程序中验证。

于 2012-08-28T17:42:54.457 回答