상표 (tm 또는 r) 또는 저작권 (c)과 같은 특수 문자를 저장할 때 모범 사례를 제공 할 수 있습니까? SQL Server에 다른 텍스트가있는 varchar 필드에 저장하고 ASP.NET 웹 페이지에 표시하고 있습니다. 지금 우리는 특수 문자 자체를 저장하고 표시하고 있습니다.데이터베이스에 특수 문자 저장
도움 주셔서 감사합니다.
나는 VARCHAR 필드에 저장하고상표 (tm 또는 r) 또는 저작권 (c)과 같은 특수 문자를 저장할 때 모범 사례를 제공 할 수 있습니까? SQL Server에 다른 텍스트가있는 varchar 필드에 저장하고 ASP.NET 웹 페이지에 표시하고 있습니다. 지금 우리는 특수 문자 자체를 저장하고 표시하고 있습니다.데이터베이스에 특수 문자 저장
도움 주셔서 감사합니다.
나는 VARCHAR 필드에 저장하고가능한 경우 ™
및 ©
과 같은 HTML 엔티티를 사용하십시오.
유니 코드를 지원해야한다는 명시적인 요구가없는 한 nvarchar로 전환 할 필요가 없습니다.
...
적어도 하나의 문제가있다. "특수"문자가있는 텍스트의 경우 nvarchar
이 필요합니다.
+1 또한 "특수 문자"또는 "외국어 문자"허용을 원하지 않는 한주의해야합니다. 특히 varchar를 사용하여 색인을 생성하려는 경우 기둥. 한 가지는 varchars가 nvarchars만큼의 공간을 차지하고 다른 하나는 nvarchar 쿼리 계획이 검색을 사용하는 반면 varchars는 검색을 사용하는 것입니다. 검색은 검색보다 훨씬 빠릅니다. 그게 말이된다면. –
nvarchar는 무엇이 필요합니까? –
varchar는 문자 당 하나의 바이트 만 허용합니다. "특수"문자는 종종 그 이상을 필요로합니다. –
글쎄, 그 문자로, 일반적으로 당신은 그래서 당신이 DB에 특별한 작업을 수행 할 필요가 없습니다
©
로 렌더링 할 것이다, 그러나 당신은 "N"에 대한 -prefixed 필드를 사용한다 DB 문자열, NChar, NVarChar 등.
"N"-prefixed fields를 약간 확장 할 수 있습니까? – IrishChieftain
나는 이것들을 참조하고 있습니다 : http://msdn.microsoft.com/en-us/library/aa276823%28SQL.80%29.aspx –
nvarchar를 사용해야하는 이유는 무엇입니까? –
오래된 질문이지만 새로운 대답이 필요합니다. UTF-8을 사용하십시오. 브라우저, 데이터베이스 및 웹 서버는 이제 모두 UTF-8 인코딩을 지원합니다. 즉, 특수 문자를 인코딩 할 필요가 없습니다 (논의 된 내용 (here 제외)).
this answer에 데이터베이스의 데이터를 인코딩하지 않는 몇 가지 중요한 이유가 있습니다.
위대한 조언을 주셔서 감사합니다. 이러한 HTML 엔터티가 포함 된 동일한 텍스트 필드가 웹 응용 프로그램 대신 Windows 응용 프로그램에서 사용되는 경우 문제가 발생할 수 있다고 생각합니다. –
물론, 텍스트 표시 방법에 따라 다릅니다.필요한 경우 항상 Windows 응용 프로그램에 포함 된 브라우저 창을 사용할 수 있습니다. – RickNZ
왜 데이터를있는 그대로 저장하고 필요에 따라 HTML 또는 JavaScript 이스케이프로 변환하는 것이 좋을까요? – dan04