2014-07-11 3 views
1

내 페이지 콘텐츠가 대형 화면에 제대로 표시되지만 모바일 (jquerymobile) 앱 페이지에서 액세스 할 때 특수 문자는 표시되지 않습니다. Jquery 1.7.2와 JqueryMobile 1.4.0을 사용하는 Im (모두 Google에서 호스팅하는 라이브러리).JqueryMobile ajax가 utf-8의 특수 문자를 표시하지 않습니다.

예를 들어

"콜 센터 에이전트 - ADSL (인바운드 및 아웃 바운드)"큰 화면 앱에서 확인을 읽고 있지만 모바일 페이지에 "€ â 콜 센터 에이전트"ADSL (인바운드 및 아웃 바운드) "이됩니다.

비슷한 문제가있는 suggestion을 시도했지만 문제가 해결되지 않았습니다.

내 모바일 앱의 HTML 코드는 다음과 같습니다

<!doctype html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
.... 

PHP 파일 헤더는 니펫을 :

@header("Content-Type: text/html; charset=utf-8"); 
... 

가 나는 또한 추가 JQuery와 조각이 설치 아약스에 추가 ajaxsetup 을 설정하는 제안을 시도 :

$.ajaxSetup({ 
    contentType: 'charset=utf-8', 
    beforeSend: function(jqXHR) { 
    jqXHR.overrideMimeType('charset=utf-8'); 
    } 
}); 

언급 된 제안 중 아무 것도 도움이되지 않습니다. 에드.

이 문제를 극복 한 사람은 누구나 제안 할 수 있으며 대체 기술을 가장 높이 평가할 수 있습니다.

+0

jquery 1.7보다 높은 버전을 사용해야하며, 1.9를 더 잘 사용하십시오. – Omar

+0

@Omar 감사합니다. JQ 1.9.0과 1.11.1을 모두 시도했지만 아무도 내 문제를 해결하지 못하는 것 같습니다. – luhfluh

답변

0

제공된 제안에 감사드립니다.하지만 실수로 "직접 만든"문제가 발생했습니다. (원래 작업) 데이터 연결 액세스는 PDO에서 'charset'이 설정되지 않은 채로 이루어지며 두 번째 모바일 앱은) 설정 '문자셋'했다 그래서 이전에 부합 할 수있는 캐릭터 세트를 제거

(모바일 앱을 통해 문제) PDO 연결 코드 :..

try { 
    $db = new PDO(
     "mysql:host=$db_host;port=$db_port;dbname=$db_name;charset=utf-8", 
     $db_user, $db_pass 
    ); 
    $db->query("SET NAMES 'utf8'"); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
}... 

정류 PDO 코드를 :

try { 
    $db = new PDO(
     "mysql:host=$db_host;port=$db_port;dbname=$db_name;", 
     $db_user, $db_pass 
    ); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
}... 

다른 사람이 비슷한 문제를 해결하는 데 도움이되기를 바랍니다.

관련 문제