I don't think you can get ascent with Varchar because those characters are not ASCII that is the reason Greek and other similar languages comes with separate code pages and collations.
http://msdn2.microsoft.com/en-us/library/ms144250.aspx
I don't think you can get ascent with Varchar because those characters are not ASCII that is the reason Greek and other similar languages comes with separate code pages and collations.
http://msdn2.microsoft.com/en-us/library/ms144250.aspx
The default collation for SQLS is apparently SQL_Latin1_General_CP1_CI_AS.
I wish to use a variation of this, SQL_Latin1_General_CP1_CS_AI
collation, but there is no such collation returned from
fn_helpcollations(). Also, if I try to use this collation in
a CREATE DATABASE stmt, SQLS yells about it.
I see that there is a Latin1_General_CS_AI. What effects are there
in using this collation? The SQL_* collations are SQL collations,
while non-SQL_* collations are Windows collations, yes? SQLS runs
only on Windows, so am I safe in using Latin1_General_CS_AI? What
does the CP1 in the SQL collation signify? Am I asking for trouble?
-----------
Assuming that I set Latin1_General_CS_AI (or any other case-sensitive
collation) at the database level, I believe my DDL/DML for that database
also becomes case-sensitive. How can I specify that I want ONLY my data
access to be case-sensitive, and not my DDL/DML? I don't want to have
to remember to type "select * from MyCamelCase" when "mycamelcase"
should work.
Any help appreciated.
A new SQLS DBA..
ajaj (ronald@.mcdonalds.com) writes:
Quote:
Originally Posted by
A few collation questions on SQL Server 2005 SP2, which I'll call SQLS.
>
The default collation for SQLS is apparently SQL_Latin1_General_CP1_CI_AS.
Quote:
Originally Posted by
I see that there is a Latin1_General_CS_AI. What effects are there
in using this collation? The SQL_* collations are SQL collations,
while non-SQL_* collations are Windows collations, yes? SQLS runs
only on Windows, so am I safe in using Latin1_General_CS_AI? What
does the CP1 in the SQL collation signify? Am I asking for trouble?
Windows collations are drawn from Windows and Unicode, and the sorting for
varchar and nvarchar data is the same (save that nvarchar includes far more
characters). SQL collations on the other hand are completely different
for varchar and nvarchar. For varchar they are just an 8-bit character
set, while for nvarchar they are Unicode. The flip side of this is since
they for varchar only have 255 charcters, operations with varchar are
quite a bit faster with SQL collations than with Windows collations (save
binary collations). However, there are also potential for performance
disasters with SQL collations if you join varchar and nvarchar that
are less likly to occur with Windows collations.
Quote:
Originally Posted by
Assuming that I set Latin1_General_CS_AI (or any other case-sensitive
collation) at the database level, I believe my DDL/DML for that database
also becomes case-sensitive. How can I specify that I want ONLY my data
access to be case-sensitive, and not my DDL/DML? I don't want to have
to remember to type "select * from MyCamelCase" when "mycamelcase"
should work.
My strong recommendation is that you should always develop on a
case-sensitive collation. If you develop on a case-insensitive collation,
and the customer then insists on case-sensitive, you may have a complete
mess to sort out.
Personally, I don't see the point of using MyCamelCase, if you don't
care to remember how you originally defined it.
--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx|||Thanks for your response. This confirms what we suspected.
Do you have any idea why there is no SQL_Latin1_General_CP1_CS_AI
collation? Can I get it somewhere?
Erland Sommarskog wrote:
Quote:
Originally Posted by
aj (ronald@.mcdonalds.com) writes:
Quote:
Originally Posted by
>A few collation questions on SQL Server 2005 SP2, which I'll call SQLS.
>>
>The default collation for SQLS is apparently SQL_Latin1_General_CP1_CI_AS.
Quote:
Originally Posted by
>I see that there is a Latin1_General_CS_AI. What effects are there
>in using this collation? The SQL_* collations are SQL collations,
>while non-SQL_* collations are Windows collations, yes? SQLS runs
>only on Windows, so am I safe in using Latin1_General_CS_AI? What
>does the CP1 in the SQL collation signify? Am I asking for trouble?
Quote:
Originally Posted by
>Assuming that I set Latin1_General_CS_AI (or any other case-sensitive
>collation) at the database level, I believe my DDL/DML for that database
>also becomes case-sensitive. How can I specify that I want ONLY my data
>access to be case-sensitive, and not my DDL/DML? I don't want to have
>to remember to type "select * from MyCamelCase" when "mycamelcase"
>should work.
Quote:
Originally Posted by
Do you have any idea why there is no SQL_Latin1_General_CP1_CS_AI
collation?
Quote:
Originally Posted by
Can I get it somewhere?
If you feel strongly about it, you can submit a suggestion on
http://connect.microsoft.com/SqlServer/Feedback.
--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx
Hi,
when I install SQL Server it uses a SQL collation (SQL_Latin1_General_CP1_CI_AS), and i created a form haveing Arabic field names and every thing saved on my DataBase, when i call this field to the html page its look fine and visitor can read it , the problem when the clintes (visitors) fill this form and submit it, I can't read the information enterd in the text fields its shown like this (?).
can any one help
YOu will have to insert the values indicating that unicode is inserted. If you are composing your own insert statements, make sure you are using something like N'HereisUnicode' whereas the prefacing N indicated the Unicode character. Unicode data can be stored in unicode data types like Nvarchar etc. If you are no composing your statements on the fly and do parametrized queries (preferable) you should be aware of using the appropiate SQL unicode datatypes (mentioned above)Jens K. Suessmeyer
http://www.sqlserver2005.de
|||
I'll try that,
thank you alot.
SQL Collation problem