【问题标题】:Why special characters are automatically turning to someother characters in a string value?为什么特殊字符会自动转换为字符串值中的其他字符?
【发布时间】:2018-05-30 01:53:04
【问题描述】:

我的实际角色:

ÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ

上面的字符自动变成

’'â€˜Ã†ÃÆŽÆÆÆ”IJŊŒẞÞǷȜæðÇəɛɣijŋœĸſßþƿÈÄ„ÆÃ‡ÄƊĘĦĮƘÅØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÃÀÂÄÇĂĀÃÅǺĄÆǼǢÆÄ†ÄŠÄˆÄŒÃ‡ÄŽá¸ŒÄÆŠÃÃ‰ÃˆÄ–ÃŠÃ‹ÄšÄ”Ä’Ä˜áº¸ÆŽÆÆÄ ÄœÇ¦ÄžÄ¢Æ”Ã¡Ã Ã¢Ã¤ÇŽÄƒÄãåǻąæǽǣɓćċĉÄçÄá¸Ä‘ɗðéèėêëěĕēęẹÇəɛġÄǧğģɣĤḤĦIÃÌİÎÃÇĬĪĨĮỊIJĴĶƘĹĻÅĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕÅỌØǾƠŒĥḥħıíìiîïÇĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒÅÅõőá»Ã¸Ç¿Æ¡Å“ŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÃỲŶŸȲỸƳŹŻŽẒŕřŗſśÅšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃáºÅµáº…ƿýỳŷÿȳỹƴź

当我尝试 console.log 字符串时得到了输出

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

这不完全是一个问题,但很明显您的文件编码不是您所期望的。确保所有内容都是 UTF-8。

【讨论】:

    【解决方案2】:

    在代码行下方,在 html 头标签之间添加。

    <meta charset="UTF-8"/>
    

    【讨论】:

      【解决方案3】:

      1 - UTF-8 与 ANSI

      您的第一个块是 UTF-8 格式,第二个是 ANSI 编码的。 在翻译过程中的某个地方,字符串从 UTF-8 更改为 ANSI。确保所有文本源都以 UTF-8 格式保存。 您可以使用 Notepad++ 等免费文本编辑器进行检查。

      2 - 理解 Javascript 字符串代码

      每个字符都有一个给定的代码,与您认为的代码无关。 对于“特殊”字符,A 的样子可能包含与默认 A 不同的代码。

      一个小例子:

      var letter1 = String.fromCharCode(65); // output: "A"
      var letter2 = String.fromCharCode(913); // output: "Α"
      console.log(letter1);
      console.log(letter2);
      console.log(letter1 === letter2);

      因此,当您将任何逻辑应用于字符串时,当字符代码不完全相同时,它不会给您预期的结果。

      【讨论】:

      • 谢谢你,我明白了
      猜你喜欢
      • 2013-03-08
      • 1970-01-01
      • 2015-02-20
      • 2019-02-17
      • 1970-01-01
      • 2019-11-04
      • 2022-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多