vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi, We are developing a small web interface to a local ERP software, which uses SQL Server 2000 as database. The database uses SQL_Latin1_CP1 collation, and the fields are varchar (not nvarchar), however, the main program inserts and reads non-English (Turkish) characters into these columns. However, when we connect to database with ADO.NET, these characters are not read correctly. (The situation is same when I check tables with Enterprise Manager and Query Analyzer) In a past situation (which was about a Win32 application), I have heard about character conversion behaviour of ADO (and many other DB libraries) and solved that problem using BDE instead of ADO, so that the connection is made via DB-Library instead of OLEDB. But this way cannot be applied to my ASP.NET situation, and there is NO way to change database collation. Must I use a ADO.NET property, or use another provider, or maybe another library? Any advices? Thanks... |
| |||
| Set your culture settings in your web.config file for the appropriate code set that you use. This should solve the problem. You can also cast the characters to ASCII by doing this (courtesy or Erland Sommerskog) SELECT convert(varchar(6), N'ÇIGDEM' COLLATE Cyrillic_General_CS_AS) -- Hilary Cotter Director of Text Mining and Database Strategy RelevantNOISE.Com - Dedicated to mining blogs for business intelligence. This posting is my own and doesn't necessarily represent RelevantNoise's positions, strategies or opinions. Looking for a SQL Server replication book? http://www.nwsu.com/0974973602.html Looking for a FAQ on Indexing Services/SQL FTS http://www.indexserverfaq.com <saygin@gmail.com> wrote in message news:1159361639.289293.15470@d34g2000cwd.googlegro ups.com... > Hi, > We are developing a small web interface to a local ERP software, which > uses SQL Server 2000 as database. The database uses SQL_Latin1_CP1 > collation, and the fields are varchar (not nvarchar), however, the main > program inserts and reads non-English (Turkish) characters into these > columns. However, when we connect to database with ADO.NET, these > characters are not read correctly. (The situation is same when I check > tables with Enterprise Manager and Query Analyzer) > > In a past situation (which was about a Win32 application), I have heard > about character conversion behaviour of ADO (and many other DB > libraries) and solved that problem using BDE instead of ADO, so that > the connection is made via DB-Library instead of OLEDB. > > But this way cannot be applied to my ASP.NET situation, and there is NO > way to change database collation. Must I use a ADO.NET property, or use > another provider, or maybe another library? Any advices? Thanks... > |
| |||
| A couple more thoughts are you storing the strings in nVarchar(20) data type columns. Also if you use Erland's method you will loose the Turkish characters if you store them using his technique but the searching should work. -- Hilary Cotter Director of Text Mining and Database Strategy RelevantNOISE.Com - Dedicated to mining blogs for business intelligence. This posting is my own and doesn't necessarily represent RelevantNoise's positions, strategies or opinions. Looking for a SQL Server replication book? http://www.nwsu.com/0974973602.html Looking for a FAQ on Indexing Services/SQL FTS http://www.indexserverfaq.com <saygin@gmail.com> wrote in message news:1159361639.289293.15470@d34g2000cwd.googlegro ups.com... > Hi, > We are developing a small web interface to a local ERP software, which > uses SQL Server 2000 as database. The database uses SQL_Latin1_CP1 > collation, and the fields are varchar (not nvarchar), however, the main > program inserts and reads non-English (Turkish) characters into these > columns. However, when we connect to database with ADO.NET, these > characters are not read correctly. (The situation is same when I check > tables with Enterprise Manager and Query Analyzer) > > In a past situation (which was about a Win32 application), I have heard > about character conversion behaviour of ADO (and many other DB > libraries) and solved that problem using BDE instead of ADO, so that > the connection is made via DB-Library instead of OLEDB. > > But this way cannot be applied to my ASP.NET situation, and there is NO > way to change database collation. Must I use a ADO.NET property, or use > another provider, or maybe another library? Any advices? Thanks... > |
| |||
| Hi, thanks for your interest. Changing culture setting did not help, also there is no chance to change data type of columns, they are varchar, not nvarchar. Character conversion of database libraries and using a DB-Library based API (in my previous example I'd chosen BDE) was Mr.Erland's recommendation also ASP.NET Hilary Cotter wrote: > A couple more thoughts are you storing the strings in nVarchar(20) data type > columns. Also if you use Erland's method you will loose the Turkish > characters if you store them using his technique but the searching should > work. > > -- > Hilary Cotter > Director of Text Mining and Database Strategy > RelevantNOISE.Com - Dedicated to mining blogs for business intelligence. > > This posting is my own and doesn't necessarily represent RelevantNoise's > positions, strategies or opinions. > > Looking for a SQL Server replication book? > http://www.nwsu.com/0974973602.html > > Looking for a FAQ on Indexing Services/SQL FTS > http://www.indexserverfaq.com > > > > <saygin@gmail.com> wrote in message > news:1159361639.289293.15470@d34g2000cwd.googlegro ups.com... > > Hi, > > We are developing a small web interface to a local ERP software, which > > uses SQL Server 2000 as database. The database uses SQL_Latin1_CP1 > > collation, and the fields are varchar (not nvarchar), however, the main > > program inserts and reads non-English (Turkish) characters into these > > columns. However, when we connect to database with ADO.NET, these > > characters are not read correctly. (The situation is same when I check > > tables with Enterprise Manager and Query Analyzer) > > > > In a past situation (which was about a Win32 application), I have heard > > about character conversion behaviour of ADO (and many other DB > > libraries) and solved that problem using BDE instead of ADO, so that > > the connection is made via DB-Library instead of OLEDB. > > > > But this way cannot be applied to my ASP.NET situation, and there is NO > > way to change database collation. Must I use a ADO.NET property, or use > > another provider, or maybe another library? Any advices? Thanks... > > |
| ||||
| Hi, Choosing ODBC provider rather than OLEDB, and turning of character translation option solved my problem. saygin@gmail.com wrote: > Hi, thanks for your interest. > Changing culture setting did not help, also there is no chance to > change data type of columns, they are varchar, not nvarchar. > Character conversion of database libraries and using a DB-Library based > API (in my previous example I'd chosen BDE) was Mr.Erland's > recommendation also > ASP.NET > > > > > Hilary Cotter wrote: > > A couple more thoughts are you storing the strings in nVarchar(20) data type > > columns. Also if you use Erland's method you will loose the Turkish > > characters if you store them using his technique but the searching should > > work. > > > > -- > > Hilary Cotter > > Director of Text Mining and Database Strategy > > RelevantNOISE.Com - Dedicated to mining blogs for business intelligence. > > > > This posting is my own and doesn't necessarily represent RelevantNoise's > > positions, strategies or opinions. > > > > Looking for a SQL Server replication book? > > http://www.nwsu.com/0974973602.html > > > > Looking for a FAQ on Indexing Services/SQL FTS > > http://www.indexserverfaq.com > > > > > > > > <saygin@gmail.com> wrote in message > > news:1159361639.289293.15470@d34g2000cwd.googlegro ups.com... > > > Hi, > > > We are developing a small web interface to a local ERP software, which > > > uses SQL Server 2000 as database. The database uses SQL_Latin1_CP1 > > > collation, and the fields are varchar (not nvarchar), however, the main > > > program inserts and reads non-English (Turkish) characters into these > > > columns. However, when we connect to database with ADO.NET, these > > > characters are not read correctly. (The situation is same when I check > > > tables with Enterprise Manager and Query Analyzer) > > > > > > In a past situation (which was about a Win32 application), I have heard > > > about character conversion behaviour of ADO (and many other DB > > > libraries) and solved that problem using BDE instead of ADO, so that > > > the connection is made via DB-Library instead of OLEDB. > > > > > > But this way cannot be applied to my ASP.NET situation, and there is NO > > > way to change database collation. Must I use a ADO.NET property, or use > > > another provider, or maybe another library? Any advices? Thanks... > > > |
| Thread Tools | |
| Display Modes | |
|
|