2011-10-24 16 views
3

BOM文字の不一致がある場合は、文字列が生成されることを理解しています。私はjQueryの.get()コールからの応答の始めにそれらを取得しています。当分の間、私は応答をハッキングし、文字を取り除いていますが、なぜこれが起こっているのか理解したいと思います。.getレスポンスでの文字エンコードの問題

既存のサイトには、metaタグ含まれています:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

を、私は、ヘッダーの追加しようとしました:自体によって、メタタグと関連して、両方の、タイトルタグの前に

header('Content-Type: text/html; charset=utf-8'); 

を。これらのタグのいずれかが存在するかどうかに関わらず、FirefoxはページにUTF-8エンコーディングがあると報告します。私は無駄に、エンコーディングを指定しアヤックス()の呼び出しとに.get()の呼び出しを交換しようとしました:

$.ajax(
     { 
      type:'GET', 
      url: 'common/includes/FilterDataLog.cfm', 
      contentType: "application/x-www-form-urlencoded;charset=UTF-8", 
      data: 'column='+selectedValue+'&filterValue='+filterValue+'&filterID='+filterID+'&configFile=log/log.xml', 
      success: function(response){ 
       //response = response.replace('', ''); 
       thisTextFilter.replaceWith(response); 
      } 
     }); 

FilterDataLog.cfmのページに戻ります:私は「

<div id="" class="fl txt_input_container"> 
<input type="text" class="txtvalueFilter" id="myFilterID" name="txtvalueFilter" value="#url.filterValue#"/> 
</div> 
<script> 
    $(document).ready(function(){   
     $('#myFilterID').autocomplete({ 
      delay: 500, 
      source: function(request, response) { 
       $.ajax({ 
        url: "cfc/autoSuggestLog.cfc?method=lookupSomething&returnformat=json", 
        dataType: "json", 
        data: { 
         search: request.term, 
         maxRows: 30 
        }, 
        success: function(data) { 
         response(data); 
        }     
       }) 
      }, 
      change: function(event, ui) {  
       if (!ui.item) { 
        $(this).val(''); 
       } 
      } 
     }); 
    }); 
</script> 

を文字エンコーディングが設定されているサイト内に他の場所が見つかりませんでしたので、困惑しています。何か案は?

答えて

2

ここで確認することがいくつかあります。

  1. まず、IDEが.cfm/.cfcファイルを正しく保存していることを確認してください。 CFBuilder、CFEclipse、またはEclipse用の他のプラグインのようなEclipseベースのエディタを使用している場合は、ウィンドウ>環境設定をクリックして、一般>ワークスペースに移動します。テキストのファイルエンコーディングが 'UTF-8'であることを確認してください。私はこれがあなたの問題だと感じています。より一般的なColdFusionエディタを使用していない場合は、独自のIDEヘルプファイルを参照する必要があります。完了したら、ファイルを再保存してもう一度お試しください。
  2. ステップ1はあなたのCFCの頭に置いてみてください、問題を解決しなかった場合:<cfprocessingdirective pageencoding="utf-8"/>
1

問題はIDEから発信されたかどうかを判断するには、私は、テキストエディタにあなたのコードをコピーして貼り付けます例えば、NotePad ++。そこで、エンコーディング> BOMなしでUTF-8に変換を選択し、ファイルを保存して再実行することができます。エラーが発生しない場合は、IDEで設定を変更する必要があります。

あなたのサーバーについては言及していませんが、ColdFusionのスタンドアロンコピーを実行していますか?またはIIS、Apache Tomcat、Apache HTTPDを実行していますか?それらのいずれかがBOM挿入のソースになる可能性があります。

関連する問題