티스토리 뷰
대개 한국 언론사들의 컨텐츠 유통 프로토콜은 FTP 이고
파일 형식은 XML 또는 TXT
RESTFul 방식으로 하는데는 본적이 없고
RSS Feed 비슷한거라도 이용한다면 이 바닥에선 엄청나게 근대적이라 볼 수 있다.
최근 XX일보 계열사의 컨텐츠 제휴 개발작업을 하게 되었는데
이곳은 TXT 파일을 요구하였다.
클라이언트측 요구사항 중 데이터 구분자로
Leftwards Arrow를 요구하기에
그렇게 해서 파일을 보내줬더니
그 문자가 아니고 역 화살표 특수문자라고 하며
예제 파일을 보내줬기에 비교분석을 위해
HEX 코드를 확인해봤다.
- 클라이언트 요구 구분자 HEX Code = 0x1B
- 내가 사용한 표준 HEX Code = 0xA1 0xE7
클라이언트가 말하는 역 화살표 특수문자는
대체 정체가 뭔지 아직도 모르겠고
ASCII 테이블에는 당연히 존재하지도 않는 문자이며
클라이언트가 고대 유물과도 같은 euc-kr 인코딩을 쓰기에
당연하게도 유니코드 테이블에도 없는
비표준 문자이기에
운영서버나 개발 환경인 utf-8 환경에서 ?? 와 같이 깨지는 문자로 나타나기에
str_replace 등의 함수는 쓸 수가 없었다.
해결하려 기획했던 개발 로직은
HEX 코드로 전환 후
HEX 코드 치환하고 다시 문자로 전환하는 계획을 세웠고
아래와 같은 코드를 통해
utf-8 환경에서 비표준 euc-kr 문자 치환에 성공하였다.
// 데이터간 항목 구분용으로 쓰인 Leftwards Arrow를 koreadaily 측에서 원하는 비표준 구분자로 치환 // bin2hex() 를 쓰면 2개의 소문자가 공백없이 이어지는 HEX 코드가 반환됨 $hex_tpl = bin2hex($tpl); $hex_tpl = str_replace('a1e7', '1b', $hex_tpl); $tpl = pack("H*", $hex_tpl);
euc-kr 클라이인트들이 각성하여 더 늦기 전에 utf-8 로 업그레이드 하기를 바란다.
위 euc-kr 쓰는 클라이언트는 그 언론사의 미국 계열사이며 개그 아님!
'웹프로그래밍 > PHP' 카테고리의 다른 글
PHP 에서 UTC 날짜 KST 로 변환 (0) | 2016.11.09 |
---|---|
내용에 youtube embed 코드 검사 정규식 (0) | 2016.10.23 |
XE 페이지 문자 깨짐 발생시 (0) | 2016.03.11 |
Lumen - L5 호환 - 시작하기 (0) | 2015.12.10 |
PHP Composer require 만 설치/업데이트 (0) | 2015.12.07 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- Make Use Of
- How to geek
- 인터넷 통계정보 검색시스템
- 트위터 공유 정보모음
- 웹표준KR
- 치우의 컴맹탈출구
- Dev. Cheat Sheets
- w3schools
- Dev. 조각들
- ASP Ajax Library
- CSS Tricks
- WebResourcesDepot
- jQuery Selectors Tester
- DeveloperSnippets
- Smashing Magazine
- Nettuts+
- devListing
- 웹 리소스 사이트(한)
- Mobile tuts+
- Dream In Code
- Developer Tutorials
- CSS3 Previews
- 자북
- 안드로이드 사이드
- Code Visually
- Code School
- SQLer.com
- 무료 파워포인트 템플릿
- iconPot
- Free PowerPoint Templates
- Design Bombs
- Web Designer Wall
- 1st Webdesigner
- Vandelay Design
- 무료 벡터 이미지 사이트들
- Tripwire Magazine
- Web TrendSet
- WebMonkey
- 윤춘근 프리젠테이션 디자이너 블로그
- cz.cc 무료 DNS
- [웹하드] MediaFire
- [웹하드] DivShare
- 한컴 인터넷 오피스
TAG
- Android
- centos
- Linux
- iis
- IOS
- Docker
- PHP
- CSS
- javascript
- classic asp
- 워드프레스
- nginx
- nodejs
- sencha touch
- Wordpress
- Prototype
- API
- iphone
- JSON
- Chrome
- 안드로이드
- 한글
- Mac
- IE
- git
- laravel
- ASP
- Debug
- mssql
- JQuery
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함