【问题标题】:Replace Greek letters in Javascript替换 Javascript 中的希腊字母
【发布时间】:2023-03-17 10:24:02
【问题描述】:

我有下面的函数,它用类似的“普通”字母替换希腊字母。然而,一些浏览器并不真正喜欢这个代码(IE)。我想这是因为代码中的希腊字母。

如何在不破坏js的情况下做到这一点?

function string_to_url(string) {
    replace = new Array('á','Á','é','É','í','Í','ó','Ó','ú','Ú','ü','Ü','ö','Ö','õ','Õ','û','Û','¾','š','è','ž','ý','ô','ä','ò','å','¼','Š','È','Ž','Ý','Ò','Å','ì','Ì','ê','Æ','æ','Ø','ø');

    replace_n = new Array('a','A','e','E','i','I','o','O', 'u','U','u','U','o','O','o','O','u','U','l','s','c','z','y','o','a','n','a','l','s','C','Z','Y','N','A','e','E','e','AE', 'ae','O','o');

    for (var i = 0; i < replace.length; i++) {
        string = string.replace(replace[i], replace_n[i]);
    }




    return string;
}

【问题讨论】:

  • 有机会成为 jsfiddle 吗?
  • 有什么问题?错误?控制台消息?
  • 那些不是希腊字母。有两个原因:您对希腊字母感到困惑,或者您的复制/粘贴编辑过程改变了您的意图。
  • 我刚刚在 IE9 中尝试使用 并没有收到任何错误

标签: javascript character-encoding


【解决方案1】:

您可以尝试对 JS 中的非标准字符进行 unicode 编码,看看这是否更适用于“纯 ASCII”源:

function string_to_url(string) {
    var replace = new Array('\u00E1','\u00C1','\u00E9','\u00C9','\u00ED','\u00CD','\u00F3','\u00D3','\u00FA','\u00DA','\u00FC','\u00DC','\u00F6','\u00D6','\u00F5','\u00D5','\u00FB','\u00DB','\u00BE','\u0161','\u00E8','\u017E','\u00FD','\u00F4','\u00E4','\u00F2','\u00E5','\u00BC','\u0160','\u00C8','\u017D','\u00DD','\u00D2','\u00C5','\u00EC','\u00CC','\u00EA','\u00C6','\u00E6','\u00D8','\u00F8');
    var replace_n = new Array('a','A','e','E','i','I','o','O', 'u','U','u','U','o','O','o','O','u','U','l','s','c','z','y','o','a','n','a','l','s','C','Z','Y','N','A','e','E','e','AE', 'ae','O','o');

    for (var i = 0; i < replace.length; i++) {
        string = string.replace(replace[i], replace_n[i]);
    }

    return string;
}

(我使用http://rishida.net/tools/conversion/ 进行了转换)。

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 2021-07-02
    • 1970-01-01
    • 2017-07-22
    • 2011-08-28
    • 1970-01-01
    相关资源
    最近更新 更多