jquery
  • json
  • node.js
  • hebrew
  • 2013-01-22 75 views 1 likes 
    1

    我正在寫一個小型的電子郵件服務器。客戶端是寫在javascript/jquery和服務器端在nodeJS(這是一個家庭作業)使用jquery不能顯示希伯來文

    在客戶端,我如下

    function send() { 
    var dataString = 'to=' + $("#to").val() + '&subject=' + $("#subject").val() + '&body=' + $("#body").val(); 
    var lines = $("#body").val().split("\n"); 
    for (var i = 0;i < lines.length;i++) { 
        dataString += '&line' + i + '=' + lines[i]; 
    } 
    $.ajax({ 
          type: "POST", 
         url: "/send", 
          cache: false, 
         data: dataString, 
         success: function(data) { 
         location.reload(); 
          }, 
         error: function(xhr, textStatus, errorThrown) { 
         location.reload(); 
         } 
         }); 
    } 
    

    $("body")是textarea元素髮送電子郵件。我在客戶端輸出了body,確實是希伯來語。我檢索與此功能的電子郵件:

    function getMail() { 
        $("#navigationButtons").show(); 
        $("#workingAread").empty(); 
        var dataString = 'start=' + start + '&url=' + url; 
        $.ajax({type: "GET", data: dataString, dataType:"json", url: 'getMail', cache: false}) 
        .done(function(data){ 
         mails = data; 
         $("#workingArea").empty(); 
         if (mails.length === 0) { 
           $("#workingArea").html("Your inbox is empty"); 
         } 
         var mailContainer = $("<div></div>"); 
         numOfMails = mails.pop(); 
          mails.forEach(function(elem,i){ 
           var mail = $("<span></span>"); 
           mail.text(elem.fullName + ", " + elem.date + ": " + elem.subject); 
           mail.click(showMail.bind(this,i)); 
          var chk = $("<input></input>") 
            .attr("type","checkbox") 
            .attr("id",elem.uuid); 
           mailContainer.append(chk).append(mail); 
           mailContainer.append("<br>"); 
          }); 
          $("#workingArea").append(mailContainer); 
         return; 
        }) 
    } 
    

    正如你可以看到dataType設置爲json。問題是我得到了亂碼,主要是問題標記。

    有沒有人有如何解決它的想法?

    謝謝!

    +1

    在PHP中,您將數據編碼爲JSON? –

    +1

    請確保接收頁面也編碼正確 - UTF-8 –

    +0

    您應該使用具有適當鍵的對象用於「data」參數,而不是「手動」構建 – dualed

    回答

    2

    確保您的HTML頁面編碼爲UTF-8,您的服務器發送UTF-8,並且您的電子郵件存儲爲UTF-8。

    相關問題