제가 실제로 겪었던 문제입니다
로컬에서 테스트할 땐 괜찮았는데 결과가 iis에 공개되자 읽기 쿠키가 깨졌습니다
처음에 사용해본 후 A 아주 어리석은 방법은 한자가 포함된 쿠키를 저장하기 전에 마지막에 넣는 것입니다. 이렇게 하면 적어도 한자가 포함되지 않은 쿠키를 정상적으로 읽을 수 있다는 문제가 해결됩니다.
나중에 인터넷에서 방법을 찾아서 참고용으로 붙여넣었습니다.
이 글이 삭제되는 것을 방지하기 위해 붙여넣었습니다. .
다음은 쿠키를 작성하는 코드입니다
[csharp] view plain copy
HttpCookie cookie = new HttpCookie("username")
cookie.Value = "장산,14,images/1.jpg";
cookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(cookie) ;
다음은 쿠키를 읽는 코드입니다
[csharp] 일반 복사본 보기
if (Request.Cookies["username"]!=null)
{
문자열 사용자 이름 = Request.Cookies["username"]
가끔 읽어보세요. 원인이 무엇이든 쿠키 값 중 중국어 부분이 깨져 보일 수 있습니다. 코딩으로 해결 가능
위 쿠키에 적힌 코드 변경
[csharp] view plain copy
HttpCookie cookie = new HttpCookie("username"); 🎜>
cookie.Value = HttpUtility.UrlEncode("Zhang San,14,images/1.jpg",Encoding.GetEncoding(" UTF=8")) cookie.Expires = DateTime. Now.AddDays(1); Response.Cookies.Add(cookie); 쿠키를 가져오도록 위의 읽기 코드 변경 [csharp] 일반 사본 보기if (Request.Cookies["username"]!=null) username(Request.Cookies["username"].Value,Encoding.GetEncoding("UTF -8" )); 이렇게 생각해보세요. 쿠키를 저장하고 읽을 때 utf8을 사용하면 서버에 있든 로컬에 있든 더 이상 문자가 깨지지 않습니다.