【问题标题】:Unicode characters not showing properly on french jsp pageUnicode 字符在法语 jsp 页面上未正确显示
【发布时间】:2012-03-15 18:12:29
【问题描述】:

我在我的 java 属性文件中使用 UTF-16 代码 "\u2013" 在我的页面中显示破折号。该页面是法语的。现在在这个链接上:http://www.fileformat.info/info/unicode/char/2013/index.htm 我看到他们说这是一个“破折号”。什么是破折号?我认为 en 和 fr 中的破折号应该相同。 在屏幕上,它显示为一个问号。 我在这里错过了什么?

【问题讨论】:

    标签: jsp utf-16


    【解决方案1】:

    破折号与英语无关。它以其长度(或宽度)命名:一个破折号1en 大。

    还有破折号,宽度为1em

    1en是字母n的宽度; 1em 是字母 m 的宽度。前者的宽度是后者宽度的一半(它们在法语排版中的名称分别是 tiret demi-cadratintiret cadratinDemi 表示half 和 tiret 破折号:很明显,一个是另一个的一半)。

    用途:

    • "09:00 - 17:00" 是一个范围,破折号应该是 en dash
    • “和巴黎——特洛伊战争的传奇人物,而不是法国的首都——对赫克托耳说”应该使用 em dashes,其中括号可以使用

    其他事实:

    • em 也是 CSS 中的相对单位
    • 相应的 HTML 实体是 –—

    至于显示的问号:使用的字体是否能够显示那些字形?如果字体缺少任何其他破折号,破折号/减号 - 是可以的。

    【讨论】:

      【解决方案2】:

      这是由于没有使用 UTF-8 造成的问题,这是一种支持所有语言字符的格式。您可以在显示任何类型的语言文本时使用这种类型的转换。例如:

      要查看此字符串 (Votre compte à été activé) 的确切字词,我们必须将其转换为 UTF-8。在此之后它将被视为 (Votre compte à été activé)

      $text = 'Comment utiliser du texte français en php ex: Prénom';

      $enc = mb_detect_encoding($text, "UTF-8,ISO-8859-1");

      $changewords = iconv($enc, "UTF-8", $text);

      【讨论】:

      • 我取消删除这个是为了给作者一个编辑的机会。请不要删除几天。
      猜你喜欢
      • 1970-01-01
      • 2012-08-08
      • 2011-08-06
      • 1970-01-01
      • 2013-08-08
      • 2013-02-25
      • 2015-06-24
      • 1970-01-01
      • 2012-05-21
      相关资源
      最近更新 更多