Notice
                              
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                            Link
                            
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
                            Tags
                            
                        
                          
                          - 데이터베이스
 - MVC
 - Intellj
 - Kafka
 - DP
 - 코딩
 - golang
 - feign
 - Spring
 - 운영체제
 - 페이징
 - 백준
 - 자료구조
 - aws
 - Jenkins
 - 쿼리
 - 자바
 - Spring Cloud
 - SQL
 - 디자인 패턴
 - JPA
 - PL/SQL
 - 알고리즘
 - MST
 - 클라우드
 - Spring Boot
 - Spring Cloud Feign
 - retry
 - 오라클
 - db
 
                            Archives
                            
                        
                          
                          - Today
 
- Total
 
justgo_developer
Gson 이용 시 Unicode 변환 해결 방법 본문
Gson 이용 시 Unicode 변환 해결 방법
목차
- Unicode란?
 - Gson 사용시 unicode 문제
 - Gson 사용시 unicode 해결방법
 
개요
데이터 처리 중 암호화된 데이터 값이 달라지는 걸 발견하였는데,
알고보니 객체를 json으로 변환 중 문자가 unicode로 변환되어 나오는 것을 확인하였고,
해결방법에 대해서 알아보려고 한다.
상세
1. unicode란?
Unicode 정의
유니코드(영어: Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 유니코드는 유니코드 협회(Unicode Consortium)가 제정한다. 또한 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자들을 다루기 위한 알고리즘 등을 포함하고 있다.
2. Gson 사용시 unicode 문제
    @Test
    public void gsonUnicodeTest() {
        Map<String, String> map = new HashMap<>();
        map.put("unicode", "7456156==");
        System.out.println(JsonUtils.toJson(map));
    }
{"unicode":"7456156\u003d\u003d"}
-> Gson을 이용하여 Json 변환 시, 문자 '='가 '\u003d' 유니코드로 변환된다.
728x90
    
    
  3. Gson 사용시 unicode 해결방법
기존 : 일반적인 Gson 객체 생성
    public static <T> String toJson(T obj) {
        Gson gson = new Gson();
        return gson.toJson(obj);
    }
변경 : GsonBuilder().disableHtmlEscaping().create() 사용하여 Gson 객체 생성
    public static <T> String toJsonWithoutUnicode(T obj) {
        Gson gson = new GsonBuilder().disableHtmlEscaping().create();
        return gson.toJson(obj);
    }
- GsonBuilder().disableHtmlEscaping().create() 사용하여 HTML Escape 비활성화하면 unicode로 변환하지 않고 정상처리 된다.
 
{"unicode":"7456156=="}
참고
'IT > 기타' 카테고리의 다른 글
| Kotlin Coroutine 성능 및 최적화 개선 (0) | 2025.02.19 | 
|---|---|
| Bearer Authorization (0) | 2023.10.10 | 
| Xml 파싱 (1) | 2023.10.05 | 
| RabbitMQ (0) | 2023.10.05 |