=================================
=================================
=================================
안드로이드 에서 플래시11 버전에도 한글 url이 안불러지는데 이현상과 관련이 있을 것 같다.
출처: http://wit.nts-corp.com/2013/09/27/183
2013년 9월 배포된 플래시 플레이어 11.8.800.168과 11.8.800.174 에서 한글 깨짐 현상이 있었습니다.
추석 전후에 일어난 장애라 대응 또한 쉽지 않았는데요.
자세히 알아보도록 하겠습니다.
먼저 168버전의 버그입니다.
Flash에서 javascript함수를 호출하고 인자로 한글을 넘길경우, 한글이 깨지는 문제입니다.
해결방법은 여러가지가 있겠지만 우리는 url encoding 처리를 하였습니다.
1
2
|
var msg = escape( data ) // data를 url 인코딩한다
ExternalInterface.call("callJS", msg) // javascript에서 디코딩한다
|
그런 다음 javascript에서 인자를 url decoding 하면 해당 문제는 해결 됩니다.
1
2
3
4
|
function callJS(msg)
{
var data = unescape(msg);
}
|
Flash 수정과 같이 javascript의 수정이 같이 이루어지기 때문에 이런 구조가 여러 서비스에서 사용 중일 경우
javascript를 찾아 일일이 수정하기가 어려울 수 있습니다.
이럴 땐 Flash에서 아래와 같이 수정하여 처리도 가능합니다. javascript정의를 Flash에서 하는 방식입니다.
다만 호출 부분을 문자열 하나로 조합을 해야 하니 전송할 인자 갯수가 많을 경우 문자열 결합을 잘 하셔야 합니다.
다음, 174버젼의 버그입니다.
174버젼은 168버전과 반대 상황의 이슈입니다.
이번에는 Javascript에서 Flash의 함수를 호출하고 한글인자를 보낼때 깨지는 문제입니다.
대응방법은 위와 비슷합니다. 아래는 Flash가 호출할 javascript함수입니다. Flash로 데이터를 보내기전에 escape 함수를 통해 url encoding 처리를 합니다.
Flash에서는 위의 함수 호출 후 리턴받은 한글 데이터를 unescape를 통해 url decoding 합니다.
Actionscript 에는 escape-unescape 함수와 유사한 encodeURIComponent-decodeURIComponent 함수가 존재하는데
이 함수를 이용할 경우 [ ' ] 와 같은 특수문자의 url encoding이 안되므로 [ ' ] 을 사용함으로 문자열 구간 지정이 잘못된다면 escape가 좀 더 안정적일 것 같습니다.
9월 27일 현재 168과 174가 다 해결된 175버전이 adobe사이트를 통해 배포가 되었습니다.
168, 174가 2주 정도의 짧은 기간동안 퍼졌지만 그래도 여러 사람이 사용중일 수 있으니 위와 같은 처리가 필요합니다.
위와 같은 처리를 하여도 175에서 문제가 발생하지는 않습니다.
=================================
=================================
=================================
플래시 플레이어 한글 이슈 (버전 11.8.800.164 & 11.8.800.174)
=================================
=================================
=================================
'ADOBE > ActionScript' 카테고리의 다른 글
[AS] Introduction to Adobe Air (0) | 2014.12.04 |
---|---|
adobe air 기본 제공으로 디바이스 정보 (네트워크, 시리얼, 각종 지원정보등등) 관련 (0) | 2014.11.21 |
외부파일과 연동하는 법을 배워 봅시다. (Loader, XML) 액션스크립트 XML 연동 관련 (0) | 2014.11.20 |
adobe 액션스크립트 AS UTC를 이용한 각 국가별 시간 구하기 (0) | 2014.10.21 |
플래시 액션스크립트 adobe ane 라이브러리를 이용한 ios 구매 관련 (0) | 2014.10.20 |
댓글 영역