【问题标题】:How to disallow the British pound (£) sign on a site?如何在网站上禁止使用英镑 (£) 标志?
【发布时间】:2012-04-06 18:40:48
【问题描述】:

在我正在开发的网站上,如果用户将浏览器的语言设置更改为“英语(英国)”或等效设置,则会将美元符号 ($) 的所有位置更改为英镑 (£)。这是不正确的,我需要禁止它。有谁知道解决方案。

Java 支持网站的后端。

提前感谢您的所有建议。

【问题讨论】:

  • 如果您在网站上工作,请从后端更正问题。
  • 是的,在前端“修复”它只会加剧问题。
  • 这不是标准的浏览器行为。如果发生这种情况,那么它只能是因为您的应用程序的代码,无论是在服务器端还是客户端。找出发生这种情况的位置并从源头禁用它,而不是事后。
  • 它不会改变美元金额的价值。这是从后端设置的。浏览器似乎只是替换了 $ 符号。例如 - 不是显示 100 美元,而是显示 100 英镑。
  • 你是如何指定货币符号的?浏览器可能会将通用货币符号解释为其区域设置的相关字符。

标签: java html


【解决方案1】:

这不是标准的浏览器行为。如果发生这种情况,那么它只能是因为您的应用程序的代码,无论是在服务器端还是客户端。找出发生这种情况的位置并从源头禁用它,而不是事后。

【讨论】:

  • @ZackHall:可能你正在使用的 Java 框架试图做一些你不知道的自动化。
【解决方案2】:

浏览器可以将通用货币符号解释为其区域设置的相关字符。

您的应用程序可能正在解释浏览器 GET 请求并从中推断语言环境(例如,用户代理可能包含“en-GB”),然后代码会将您指定的通用符号替换为正确的区域设置字符并将其发送到浏览器。

如果您只想要一个美元而不是其他任何东西,请指定一个美元符号。

【讨论】:

    【解决方案3】:

    我怀疑问题在于货币金额被存储为纯数字,并使用通过为用户选择的语言环境调用 getCurrencyInstance 获得的 NumberFormat 进行格式化。如果金额总是以美元为单位,那么这是错误的做法。相反,构造一个包含美元符号的 DecimalFormat。

    看在 Pete 的份上,不要尝试在 Javascript 中修复此问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      • 2020-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      相关资源
      最近更新 更多