2012-05-18 3 views
3

그래서 나는 (페이스 북처럼) 링크에서 비디오 삽입에 대한 정보를 얻기 위해 웹 페이지에서 메타 태그를 얻기 위해 시스템에서 작업하고 있습니다.Jquery Json 출력 특수 문자 문제

일부 필드를 채우기 위해 페이지의 제목과 설명이 나옵니다. 그리고 여기서 내가 문제가 어디 있는지, 그래서 그것은 .html() 사용할 수있는 텍스트 영역 때문에 설명이 잘 작동합니다. 그래서 내가 .attr() 또는 .val() 사용할 수 및 제목이 입력이므로 문제가 같은 특수 문자에서 온다 (é à è ö ä ü).

여기 내 코드가 있습니다.

이 내 JQuery와 액션 스크립트입니다 : 내가 어떤 악센트하거나 인쇄 특수 문자로 제목이 때

$url = $_GET['url']; 
$result = getUrlData($url); //this get the metadata from the url 
$description = $result['metaTags']['og:description']['value']; 
$title = $result['metaTags']['og:title']['value']; 

$img_name = basename($result['metaTags']['og:image']['value']); 
copy(''.$result['metaTags']['og:image']['value'].'', "../".$path_video_temp.$img_name); 

$embed = " "; //EMBED CODE 

$data = array('title' => $title,'description' => $description, 'embed' => $embed, 'img' => '/'.$path_video_temp.$img_name); 

header('Content-Type: application/json; Charset=UTF-8'); 
echo json_encode($data); 

:이 JSON 데이터를 내보내기위한 내 PHP 파일이

<script type="text/javascript" charset="utf-8">  
$(function(){ 
    $("#url").bind("change", function(){ 
     var url = $("#url").val(); 
     $.getJSON("/ajax/embed_video.php", { url: url }, function(json) { 
      $(json.embed).appendTo("#feeds"); 
      $("#title").attr("value", json.title); 
      $("#description").html(json.description); 
     }); 
    }); 
}); 
</script> 

입니다 등 &eacute;

에서 나는 html_entity_decodehtmlspecialchars_decode

를 사용하여 시도

누군가가 문제가 어디 있는지 알기를 바랍니다. 시간에 대한

감사하고 좋은 일을해야

요리스

답변

1

당신 Ajax 요청에해서 getJSON 반대로 당신이 데이터의 문자 인코딩을 지정할 수 있습니다 데이터를 검색 할 Ajax 요청을 사용하여 시도 할 수 다음은 아약스의 비교해서 getJSON

http://api.jquery.com/jQuery.getJSON/

이야 그리고 여기 아약스가

를 설정하는 방법은 검색 할 수 있습니다

http://api.jquery.com/jQuery.ajax/

이 방법에 대한주의 사항 --- 그 JSON 요청이 거짓

--- 편집에 비동기 아약스 세트에 너무 비동기하지 않을 수에만 문자 집합을 설정

사과입니다 jsonp와 함께 사용하면 대신 사용할 수 있습니까?

--- 편집 2 ---

하는이 포럼 게시물이 도움이 될 수 있을까? 이 도움이

How to decode HTML entities using jQuery?

희망!

+0

고마워, 두 번째 편집에서 링크 된 코드를 사용했는데 완벽하게 작동합니다. 시간 내 주셔서 감사합니다. –