iPhone 上的日语字符编码问题

发布于 2024-10-17 19:40:12 字数 400 浏览 1 评论 0原文

我在 iPhone 上遇到了有关文本编码的问题。我从 sqlite 数据库检索日语字符。所以我得到这样的字符(它们的 ASCII 表示在这里:“成による”)

当我在 WebView 上显示这些字符时,我的日语字符显示得很好。但是当我尝试在 UILabel 上显示它们时,显示的是 ASCII 表示形式而不是日语表示形式。

我使用以下函数从数据库中检索文本数据:

NSString *watchText = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];

如果有人有想法......

I am encountering a problem concerning text-encoding on iPhone. I retrieve japanese characters from a sqlite database. So I get character like that ( their ASCII representation here : "& #25104;& #12395;& #12424;& #12427;" )

When I display these characters on a WebView, my japanese characters are well displayed. But when I try to display them on a UILabel, the ASCII representation is displayed rather than the japanese one.

I retrieve the text data from the database with the following function :

NSString *watchText = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];

If anyone has an idea...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱的那么颓废 2024-10-24 19:40:12

那是因为你所拥有的不是“ASCII 表示”。这些 ("成による") 称为 XML 或 HTML 字符实体引用。因此,它们仅在您在 HTML 上下文(如 Web 视图)中解析它们时才起作用。

您需要做的就是使用 UIWebView 作为标签,或者解析字符实体引用以将它们转换为普通的 NSString。

That's because what you have is not an "ASCII representation". Those ("成による") are known as XML or HTML character entity references. As such, they only work if you parse them in an HTML context (like a web view).

What you need to do is either use a UIWebView for your labels, or parse the character entity references to turn them in to a normal NSString.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文