classic asp로 돌아가는 사이트가 있습니다.
MSSQL 2008 R2 를 쓰고 있고요
ANSI 기반으로 돌아가고 있는데 UTF-8 기반으로 변경을 하려고 합니다.
UTF-8 에서 한글은 3byte로 알고있는데 왜 varchar 로 한글이 들어갈때
2byte로 ANSI 때 처럼 동일하게 들어가는지 궁금합니다
Comment 1
-
코난(김대우)
2023.07.24 09:43
classic asp로 돌아가는 사이트가 있습니다.
MSSQL 2008 R2 를 쓰고 있고요
ANSI 기반으로 돌아가고 있는데 UTF-8 기반으로 변경을 하려고 합니다.
UTF-8 에서 한글은 3byte로 알고있는데 왜 varchar 로 한글이 들어갈때
2byte로 ANSI 때 처럼 동일하게 들어가는지 궁금합니다
2023.07.24 09:43
varchar는 유니코드가 아닌 방식으로 한글을 저장하며 2byte를 사용합니다.
한글만 사용하는 사이트라 하더라도, varchar가 아닌 nvarchar를 권장합니다.
https://learn.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver16#unicode-data-types
클래식 ASP에서도 nvarchar 같은 유니코드 컬럼에 접근하려면 이렇게 ADO adVarWChar 데이터형을 지정하면 됩니다.
https://www.w3schools.com/asp/ado_datatypes.asp