簡體   English   中英

從MySQL返回希臘字符到Javascript

[英]Return greek characters from MySQL to Javascript

我正在嘗試創建一個使用JQuery自動補全從MySQL表獲取值的表單。 我對Javascript和AJAX還是很陌生,但是我可以使用它。 當我在輸入字段中鍵入1個字母時,我得到一個下拉列表,其中包含表中的匹配值。 正常字符(az,1-9)可以正常工作。 但是,我還有一個包含以下值的表:

  • 10 ng
  • 100 ng
  • 1微克

最后一個給我麻煩,因為它包含希臘字符。 當我鍵入“ 1”時,它應該在下拉菜單中返回所有3個值。 相反,它不返回任何內容。 當我輸入'10'時,它會按預期返回前2個值。 如果我嘗試輸入'g'和'ng'也是一樣...

這是我的Javascript代碼:

$(function() {
    $(".ajax_getid_").each(function () {
        (function ($this) {
            $this.autocomplete({
                response: function(event, ui) {
                    try {
                        if (ui.content.length === 0) {
                            $("#"+event.target.id+"-empty-message").text("No results found");
                        } else {
                            $("#"+event.target.id+"-empty-message").empty();
                        }
                    } catch(err) {
                        error = "Error 1: "+err.message;
                        alert(error);
                    }
                },

                source: function(request, response) {
                    try {
                        $.ajax({
                            url: "list_"+$this.attr('id')+".php",
                            dataType: "json",
                            data: {
                                term : request.term
                            },
                            success: function(data) {
                                response(data);
                                console.log(data);
                            }
                        });
                    } catch(err) {
                        error = "Error 2: "+err.message;
                        alert(error);
                    }
                },
                minlength: 1
            });
        })($(this));
    });
});

在四處搜尋時,我發現了有關數據庫響應編碼的一些信息。 但是由於返回的正常字符沒有任何問題,所以我不確定這是否是問題。 如果是這樣,我不知道如何解決。

編輯:
如果我嘗試在簡單的html表中可視化MySQL表,那么它也可以正常工作...
當我嘗試將響應打印到控制台(Google Chrome)時,出現以下錯誤: Uncaught TypeError: Cannot read property 'label' of null

嘗試對請求進行編碼(請參閱: 應該何時使用轉義符而不是encodeURI / encodeURIComponent? )。 所以..

...
dataType: "json",
    data: {
        term : encodeURI(request.term)
    },
....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM