여유상점_0916 : 8) ejs utf8 problem

오범준·2020년 9월 18일
0

korean "대구" is not reflected originally on the a.href

https://freestrokes.tistory.com/71#:~:text=%EC%BB%B4%ED%93%A8%ED%84%B0%EB%8A%94%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EC%9D%B8%EC%8B%9D,%EB%A1%9C%20%EB%B3%80%ED%99%98%EB%90%98%EC%96%B4%20%EC%A0%80%EC%9E%A5%EB%90%A9%EB%8B%88%EB%8B%A4.&text=%EC%9D%B4%EB%A0%87%EA%B2%8C%20%EB%AC%B8%EC%9E%90%20%EC%BD%94%EB%93%9C%EB%A5%BC%20%EA%B8%B0%EC%A4%80,%EB%94%94%EC%BD%94%EB%94%A9(decoding)%20%EC%9D%B4%EB%9D%BC%EA%B3%A0%20%ED%95%A9%EB%8B%88%EB%8B%A4.

컴퓨터는 문자를 인식할 수 없기 때문에 숫자로 변환되어 저장됩니다. 변환해주기 위해서는 기준이 있어야하는데 이것을 문자 코드라고 하며 대표적으로 ASCII코드 또는 유니코드가 있습니다.

이렇게 문자 코드를 기준으로 문자를 코드로 변환하는 것을 문자 인코딩(encoding) 이라하고 코드를 문자로 변환하는 것을 문자 디코딩(decoding) 이라고 합니다.

인코딩/디코딩은 정보의 형태나 형식을 변환하는 처리에 대해 표준화하고 보안, 처리 속도 향상, 저장 공간 절약 등의 목적으로 사용합니다.

Trial1 : Encoding, Decoding 문제 적용하기

음. 사실 어떤 router 이던 간데
한글을 사용하는 것은 사실 항상 좋은 방법은 아니다
제일 좋은 방법은, 그저 영어를 쓰는 것

현재 저기에서 "대구" 라는 것은 관리자페이지에서
관리자가 "대구"라고 사용했기 때문에
저것이 뜨는 것인데,
그렇다면, 관리자가 "대구"라고 입력하면, 그것에 해당하는 자동 영어 번역 라이브러리를 사용해서, 영어 번역 값도 하나의 열로 추가 저장해서,

해당 페이지에 위와 같이 link에다가 값을 render 시킬 때는
자동 번역 시킨 영어 값을 해당 link로 걸어주는 것도 방법일 것 같다

혹은 만약 자동 번역 영어 값이 존재하지 않는다면, 각 region에 해당하는 row 마다
random하게 생성한 난수를 지정해줘서, 각각의 region에 대해서 unique한 값을 갖게 하는 것도 방법이다.

그런데, 이렇게 되면, 차후에, router들을 관리하기가 너무 힘들어진다

Trial 2: 관리자페이지 지역 수정 > 해당 지역 입력시, 별칭 입력 받기 ( ex. 대구 > DaeGu )

당연히 입력 받을 때, DB에 중복되는 내용이 있는지 확인해야 한다
이러한 영어 별칭을 입력받는 이유는
나중에 ejs 파일에 render 시켜줄 때,
한글 보다는 영어 형태로 render 시켜주는 것이 더 좋기 때문이다

Trial 3 : 관리자페이지 지역 삭제 > 삭제 시, 만약 기존 project table 내용을 있는 그대로 반영하지 못할 때 (ex. project table에는 지역이 총 7개 인데, 지역 DB에서는 삭제 과정에서 6개가 되버린다면 ) 그때는 삭제를 못하게 막아야 한다

Trial 4. 이후, 별칭을 받게 되면, href에 띄워주기

    <% Regions.forEach((Region) => { %> 
      <% if( Region.Region1 == '자연'){ %>
        <div class="region_list_Total">
          <a href="/projectNat/<%= Region.RegionEng %>"><span>&nbsp;&nbsp;<%= Region.Region2 %>&nbsp;&nbsp;</span></a>
        </div>
      <% } %>
    <% }); %>
profile
Dream of being "물빵개" ( Go abroad for Dance and Programming)

0개의 댓글