Apache flex AdobeFlexUnicorange

Apache flex AdobeFlexUnicorange,apache-flex,unicode,Apache Flex,Unicode,我有一个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应用程序,其中字体样式设置如下:

@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应用程序,并停止了save操作的代码,而有问题的控件确实在save变量中显示了奇怪的字符。因此,错误似乎是在flex端创建的

然后,我按如下方式更改了字体,删除了所有unicode引用

@font-face {
  fontFamily: Arial;
  fontWeight: normal;
  fontStyle: normal;
  src: local("Arial");
}
这似乎在某种程度上改善了它,但数据现在保存为。单步遍历代码表明,该字符仅作为一个字符发送到服务器,因此现在似乎在数据库端创建了错误


我可能错过了一些明显的东西。理想情况下,我希望保持unicode范围尽可能小。

在上一次偶然发现一个类似的问题后,我意识到DB将项目保存为默认值是完全正确的


然而,重要的是,Unicorange必须是U+00A3-U+00A3,而不是U+a3-U+a3

我也尝试过将Unicorange设置为如下:@font-face{fontFamily:Arial;fontWeight:normal;fontStyle:normal;src:localArial;Unicorange:U+0021-U+007E,U+00A3-U+00A3;}这导致了适度的改善,尽管项目仍保存为英镑,但amfphp也需要正确设置: