Hello, For my app, with data in SQL-Server 2012, I cannot have all letter correctly written.
First, in SQL-Server, there are 2 types for storing a string : * char and varchar are string types with "old" charset, ie not uniccode, and dependant on the site. * nchar, nvarchar are string types with unicode. We can store text from our country, but also stranger text. For me, in France, the database is declared "Collation = French_Cl_AS", this is équivalent to "Latin1". For my app, I use all types of data : a "code" is allways varchar(12), for example Supplier-code, Article-code, Supplier-address, accounting-acct, name of persons, ... but a comment field can countain many thing. I think I've tried all combinations to convert my app. Each combination works for a part, but doen't work in another part. For both case, I have : a => I already have data in my database, that are put from MS-Access, or directly from "SQL Server Management studio" (parameters list, to use with drop-down fields) In my database, I have data like "Frais Généraux", "Certificat de confirmité", .... The app has not to change this values I also have data that are a request that joins data from my app database, and my ERP-database (list of suppliers with address like "Saint Nom la Bretèche". b => I try to type a sentence in my SQLFORM, and this data is written in the database. The sentence is ==> l ' élève est dans la forêt, où ça ? I write it in 2 fields, one in varchar, the other in nvarchar. First, I set in the DAL "db_codec='Latin1' " 1a - All that data are well displayed in my app. 1b - For both fields, when I display the form, the systems shows ==> L'élève est dans la forêt, où ça ? And into the database, when I display it ==> L'élève est dans la forêt, où ça ? And if I request data from another tool (MS-Excel, that connects to the same database with an MS-Query), I also get L'élève est dans la forêt, où ça ? If I "valid" the form twice (the displayed data are unchanged), I get L'élève est dans la forêt, où ça ? Second, if I set the DAL with UTF-8 (so without any codec): 2a - The existing data (typed in Sqlserver Management Studio, or a request from different data including ERP) are not correct ==> Frais g�n�raux 2b - For my favorite sentence (l'élève est dans la forêt, où ça ?), this is correctly shown when I display it again in the SQLFORM. But when I extract data with a third-party tool, or look at the data with MS-Man-Studio, I get : ==> L'élève est dans la forêt, où ça ? The codec "Latin1" seems to be best : OK => I can display data from other tables (that comes from other tools, like ERP, or MS-Access apps) OK => When a field already contains a sentence, it's correctl displayed (codec can very well DE-code the Latin1) Not OK : when the use type a sentence in an SQLFORM, this sentence is bad EN-coded to Latin1. Curiosly, the result is exactly the same with varchar fields and nvarchar fields. I'm surprised of this. I've read a lot af things, and many post about codec and ODBC-link with MS-SQL.. I don't find the solution for my case. -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.