Adobe Flex的unicodeRange
我有一个Flex应用程序,其中的字体样式已设置如下:Adobe Flex的unicodeRange
@font-face {
fontFamily: Arial;
fontWeight: normal;
fontStyle: normal;
src: local("Arial");
unicodeRange: U+0021-U+007E,
U+a3-U+a3;
}
ü的Unicode范围+ A3允许用户输入的£(英镑符号)。
在Flex中输入数据并保存到数据库时,英镑符号前面加上了一些奇怪的字符,例如“ÃÃÃ㣔。我调试了Flex应用程序,并在保存操作中停止了代码,并且有问题的控件确实在保存变量中显示了怪异字符。所以,错误似乎是在灵活的一面创建的。
然后我改变了字体如下,删除任何Unicode引用
@font-face {
fontFamily: Arial;
fontWeight: normal;
fontStyle: normal;
src: local("Arial");
}
这似乎有所改善,但现在的数据被保存为“£”。逐步执行代码显示的字符只被通过对服务器作为£发送,所以它会似乎现在在数据库方面
我可能丢失的东西在这里很明显创建的错误。理想情况下,我想保持unicode范围尽可能小。
在偶然发现了一个类似的问题MySQL or PHP is appending a  whenever the £ is used后,我意识到它完全正确的是数据库将项目保存为£。
重要的,但是,unicodeRange必须是U + 00A3-U + 00A3而不是U + A3-U + A3
此外,amfphp也需要正确设置:http://ghalex.com/blog/as3flexdb-and-utf8 – JonoB 2011-01-07 17:54:49
我也曾尝试设置unicodeRange如下: @字体面{ fontFamily中:Arial; fontWeight:正常; fontStyle:normal; src:local(“Arial”); unicodeRange:U + 0021-U + 007E, U + 00A3-U + 00A3; } 这会导致适度的改善,尽管该项目仍然保存为£ – JonoB 2011-01-06 13:21:27