首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在闪存上显示utf8?

在闪存上显示utf8?
EN

Stack Overflow用户
提问于 2012-03-27 19:36:47
回答 2查看 1.5K关注 0票数 0

我正在使用闪光灯从一个UTF8页面读取内容,其中有统一码在它。问题是,当Flash加载数据时,它会显示?取而代之的是全unicode。

可能的问题是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-27 20:15:12

默认情况下,Flash将字符串视为使用UTF-8编码。您看到可能替换不可打印字符或无效/缺少字形的字符的原因可能是您将System.useCodepage设置为true -如果发生了这种情况,那么您为什么要这样做?

否则,用于显示字符的字体可能缺少所需字符的字形。您可以使用Font.hasGlyphs("string with the glyphs");进行检查,以确保文本可以显示。这通常只适用于嵌入式字体。

另一种可能是您试图显示的源文本不是UTF-8编码的字符串。一些特别流行的文件格式,例如XML和HTML,有时使用与实际有效负载无关的格式声明(例如,XML tag:<?xml encoding="utf-8" ?>可以附加到任何XML,而不管文档的实际编码)。为了确保文本采用UTF-8格式,将其作为ByteArray读取,并验证每个字节的第一位是否设置为0。使用国家字符的单字节编码使用第一位对其字符进行编码,而UTF-8从不这样做。

票数 1
EN

Stack Overflow用户

发布于 2012-03-27 20:19:48

Flash内部使用UTF-8表示字符串,因此如果整个堆栈使用UTF-8编码应该不会有问题。

在此过程中,您可能有一个隐式的解码/编码步骤。不幸的是,这可能真的是一百万件事情。从头开始,插入跟踪和/或日志消息以查看转换失败的位置。确保您的XML内容使用UTF-8,特别是如果您正在使用PHP,请确保所有PHP源文件都以UTF-8编码保存-在简单的文本编辑器中编辑PHP文件通常会生成Windows/Mac格式的源文件,这将破坏您的字符编码。此外,验证HTML请求/响应标头,以查看是否存在编码不匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9888823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档