1
function($) {
$.fn.listnav = function(options) {
    var opts = $.extend({}, $.fn.listnav.defaults, options);
var letters = ['_', 'a', 'ä', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m'
, 'n', 'o', 'ö', 'p', 'q', 'r', 's', 't', 'u', 'ü', 'v', 'w', 'x', 'y', 'z', '-'];

function createLettersHtml() {
var html = [];
 for (var i = 1; i < letters.length; i++) {
   if (html.length == 0) html.push('<a class="all" href="#">ALL</a><a class="_" 
       href="#">0-9</a>');
       html.push('<a class="' + letters[i] + '" href="#">' + ((letters[i] == '-') ?
       '...' : letters[i].toUpperCase()) + '</a>');
            }

<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" session="false"%>

德语字符(ä、ö、ü)显示为 ÃƑÂ、ÃƑ¶、ÃƑ¼

你知道我该如何解决这个问题吗?

谢谢 !


固定的:

if(letters[i] == 'ä') {
                    html.push('<a class="' + letters[i] + '" href="#">&Auml;</a>');
                }
                else if(letters[i] == 'ö') {
                    html.push('<a class="' + letters[i] + '" href="#">&Ouml;</a>');
                }
                else if(letters[i] == 'ü') {
                    html.push('<a class="' + letters[i] + '" href="#">&Uuml;</a>');
                }
                else {
                    html.push('<a class="' + letters[i] + '" href="#">' +  
     (letters[i].toUpperCase()) + '</a>');
                }
            }
4

2 回答 2

0

这是 PHP 还是 ASP.NET?

您存储 üäö 等文件的文件是否真的 UTF-8 编码并以这种方式传递给浏览器?还是它们是 UTF-16 或其他编码?我认为您的服务器以其他编码为它们提供服务,并且取决于它是 PHP 还是 ASP.NET,修复会有所不同。

德国人的性格ß呢?

于 2013-09-24T09:38:56.203 回答
0

谢谢!

这整件事是关于 jQuery listnav:https ://github.com/esteinborn/jquery-listnav

我刚刚修复了整个事情,您需要在 az test 中添加一个查询:

function addLetterClass(firstChar, $el, isPrefix) {
            if ( /\W/.test(firstChar) ) {
                if (firstChar != "ä" && firstChar != "ö" && firstChar != "ü") {
                    firstChar = '-'; // not A-Z, a-z or 0-9, so considered "other"
                }
            }

所以现在“ä,ö,ü”不要被整理出来。:)

于 2019-03-13T11:13:02.087 回答