본문 바로가기
어?/FE

[Next.js] 한글 URL에서 변수 받기 왜 안 되지?

by 껐다 켜보셨어요? 2024. 9. 9.

이미지 동그랗게 만들기에 결국 실패한 나 ...

일단 모양새만 잡아놓고 나중에 수정하기로 한다

폰트는 아직 적용하지 않았다

 

아직 뭐 어떻게 될지 모르겠지만

채팅을 웹 소켓으로 진행하게 된다면

1. URL = socket sub ID = chatting PK (Auto_Increment)

2. URL = socket sub ID = 상대 user PK

3. URL = socket sub ID = 글 PK

(* URL = main/message/chat/URL << 이 부분) 

이들 중 하나가 될 것 같은데 

아마 1로 픽스가 될 듯. 웹소켓은 구독을 하는 체계라서 sub ID가 글 PK가 되거나 상대 PK가 되면

자칫 단톡방이 될 가능성이 있다(....)

 

그렇다면 이런 경우에는 URL에 숫자가 들어가니 상관 없다.

근데 일단 테스트 차 난 여기에 그냥 상대 닉네임을 그대로 넣었다가

문제 발생

 

직접적으로 한글 URL을 사용하진 않겠지만, 좀 궁금하다. 

 

해결 방법은 간단

 <Link className="flex gap-0 p-4" href={encodeURI('/message/chat/뗀석기팔아요')}>
       

줄 때는 encodeURI

 const pathname = decodeURI(usePathname().substring('/message/chat/'.length));
  // 채팅 참여 상대방 닉네임 떼어서 저장
  const roomName: string = `${pathname}님과의 채팅`;

받을 때는 decodeURI 해 주면 된다.

사실 받을 때가 더 중요하다. 

encodeURI는 브라우저에서 자체적으로 해 주기 때문에 ...

 

귯.

 

 

 

 

 

 

 

댓글