728x90
얼마 전 제품에 사소한 문제가 발견됐습니다.
독일어 제품에서 Ü가 Ü로 나타나는 문제였는데요.
원인은 바로 .NET 프레임워크의 Inline Expression이었습니다.
리소스 작업이 되어있어서 아래 예시와 같이 사용하고있었습니다.
var string1 = "<%: getResourceText("happy") %>"
happy라는 string을 locale별로 가져와서 사용하고 있었습니다.
그런데 독일어로 happy는 'Glück'이었고 Gl
ück로
ü의 HTML Code인 ü 때문에 문제가 발생했습니다.
<%= ... %>는 문자열을 보여주는 가장 간단한 Inline Expression입니다.
<%: ... %> 또한 문자열을 보여주는 Inline Expression입니다.
하지만 <%: ... %>는 <%= ... %>에서 HTML Encoding된 문자열을 나타냅니다.
페이지 내에서 문자열을 보여줄 때는 차이가 없었지만 스크립트 영역에서 변수로 할당할 때
<%: ... %>일때 string1은 "Gl
ück" 으로
<%= ... %>일때 string1은 'Glück" 으로 할당되게 됩니다.
따라서 스크립트 영역에서 변수로 사용할 때는 아래와 같이 <%= ... %>으로 바꿔서 해결했습니다.
var string1 = "<%= getResourceText("happy") %>"
728x90
'Programming > .NET' 카테고리의 다른 글
Azure Blazor Server 배포하기 (0) | 2021.09.03 |
---|---|
AWS EC2 Ubuntu Blazor Server 배포 (2) | 2021.08.27 |
Web.Config Timeout (0) | 2021.05.26 |
[ASP.NET] Inline Expression (0) | 2018.10.26 |
[ASP.NET] resource 파일(.resx) 만들기 (0) | 2018.09.23 |
댓글