, "" , , , , .NET, SQL Server.
-:
, - .
, . Unicode, UTF-16 Little Endian ( Windows .NET). , , 62 000 - 63 000 ( ) (.. U + 0000 U + FFFF - 0 - 65,535), "" ). Unicode 1,1 260 000 . U + FFFF/65,535, , , . , , 4 .
:
false,
s1 = "smatsumoto11" " ". :
http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:East_Asian_Width=Fullwidth:]
, , :
http://unicode-table.com/en/blocks/halfwidth-and-fullwidth-forms/
, , String.Compare(String, String, CultureInfo, CompareOptions), @Arnout, CompareInfo.Compare(String, String, CompareOptions) :
CompareInfo.Compare(s1, s2, CompareOptions.IgnoreWidth)
:
, nvarchar SQL-, smatsumoto11, where, smatsumoto11, .
. , , 7- ASCII ( 0 - 127), , , , LCID/Locale/Culture/Collation. Collation SQL Server ( ) SQL_Latin1_General_CP1_CI_AS, . Page 1252 ( CHAR/VARCHAR, NCHAR/NVARCHAR) "en-US". /LCID Fullwidth "half-width". , Collations, _WS , , _WS "Width Sensitive", .NET, CompareOptions.IgnoreWidth.
, Collations, _WS , , 1776 3885 Total Collations, Width Sensitive ( SQL Server 2012). , 262 ( , _BIN, _BIN2), , .
SELECT *
FROM sys.fn_helpcollations()
WHERE [name] LIKE N'%[_]WS%'
ORDER BY [name];
, , ( ) SQL_Latin1_General_CP1_CI_AS Latin1_General_100_CI_AS - INSensitive. , , , , CompareOptions.IgnoreWidth, Collations SQL Server, .NET Case Sensitive SQL Server. SQL Server ( Collations _CI _WS, CompareOptions.IgnoreCase :
CompareInfo.Compare(s1, s2, CompareOptions.IgnoreWidth | CompareOptions.IgnoreCase)
String.Compare(s1, s2, CultureInfo.CurrentCulture,
CompareOptions.IgnoreWidth | CompareOptions.IgnoreCase)
:
.NET Framework
.NET Framework