2010-06-22 3 views
0

Ceci est une sorte de question générique en raison de mon manque d'expérience avec les polices, donc un peu de patience et/ou de pointage dans la bonne direction pour obtenir plus d'informations serait apprécié. J'ai une application iphone et je remarque que lorsque j'imprime du texte sur mes étiquettes, je finis avec des déchets quand la chaîne contient des non-ascii, comme le coréen par exemple. Je suppose que puisque mes UILabels, par exemple, utilisent la police du système, peut-être que la police du système ne supporte pas l'affichage de caractères larges. Cependant, il me reste quelques questions pour les débutants:Comment puis-je spécifier une police système qui gère les caractères larges sur l'iPhone?

1) Comment définir la police système pour que mes objets iphone sdk qui utilisent la police système l'utilisent?

2) Cela semble-t-il correct que la police du système ne supporte probablement pas les caractères larges et est la raison pour laquelle je vois la foutaise quand j'ai des caractères hors de la gamme ASCII normale?

Merci. Faites-moi savoir si je dois clarifier le problème s'il vous plaît.

Mise à jour: Plus tard, je doutais peut-être était un problème sur mon côté serveur ainsi affiché ce poste lié, mais pas identique ici: does google app engine display unicode differently in StringProperty v StringListProperty objs?

+0

Il est plus probable que vous n'utilisiez pas le codage de chaîne correct. D'où vient le texte et quel encodage souhaiteriez-vous avoir? Quelles méthodes utilisez-vous pour créer des chaînes à partir du texte? – drawnonward

+0

Je vais mettre à jour le message original avec quelques informations supplémentaires sur la fin du serveur. – Joey

+0

Pour répondre plus directement à votre question, je forme une chaîne python sur le serveur en ajoutant une variable coréenne. Peut-être que je n'appelle pas s.encode ou s.decode correctement? Je n'appelle pas l'un ou l'autre et je suis un peu confus par rapport à ce que je devrais appeler, si c'est le cas. Du côté client, j'utilise CFURLCreateStringByReplacingPercentEscapes() pour supprimer les pourcentages d'échappement. – Joey

Répondre

0

Il se trouve que le problème était pas avec la police, mais avec le codage improprement réponse de données du serveur en Ascii quand j'aurais dû utiliser UTF8. Il semble que la police supporte unicode pour commencer.

Questions connexes