【发布时间】:2011-01-06 13:03:11
【问题描述】:
我有一个 flex 应用程序,其中字体样式设置如下:
@font-face {
fontFamily: Arial;
fontWeight: normal;
fontStyle: normal;
src: local("Arial");
unicodeRange: U+0021-U+007E,
U+a3-U+a3;
}
U+a3 的 unicode 范围允许用户输入 £(英镑符号)。
当在 flex 中输入这些数据并保存到数据库时,£ 符号前面会添加一些奇怪的字符,例如“Âã”。我调试了 flex 应用程序,并停止了保存操作的代码,而有问题的控件确实在保存变量中显示了奇怪的字符。所以,错误似乎是在 flex 端创建的。
然后我按如下方式更改了字体,删除了所有 unicode 引用
@font-face {
fontFamily: Arial;
fontWeight: normal;
fontStyle: normal;
src: local("Arial");
}
这似乎有所改善,但数据现在保存为“£”。单步执行代码显示该字符仅作为 £ 发送到服务器,因此似乎现在在数据库端创建了错误
我可能在这里遗漏了一些明显的东西。理想情况下,我希望 unicode 范围尽可能小。
【问题讨论】:
-
我也尝试过如下设置 unicodeRange:@font-face { fontFamily: Arial;字体重量:正常;字体样式:正常; src: local("Arial"); unicodeRange:U+0021-U+007E,U+00A3-U+00A3; } 这导致了适度的改进,尽管该项目仍被保存为 £
标签: apache-flex unicode