![]() Submitted by JamieCameron on Sat, - 03:12 Comment #3 ![]() Joomla 1.5 MUST have utf8 wit case-insensitive (ci), most commonly used: utf8-general-ci)ĭ) wherever creating database for a virtual server, ideally showing the collation with correct default collation (not charset, but collation).Ģ) Replace all mysql charset settings by existing charset (defaulting to default collation for charset) + list of all available collations.Īnd a per virtual server and per database feature welcome to help fix the current mess in virtual servers: to change the collation of existing database+tables+columns ![]() utf-8 charset = utf-8-general-ci collation by default.ġ) Set database collation on creation in create database:Ī) in create database command (with explicit selector visible and not hidden as now, as it's importantī) when creating new virtual server (if template says auto-create db, using site template's default), maybe even when installing into existing but empty database !Ĭ) when auto-creating database on script install (using template default, OR a setting of installer script: e.g. With collation, you can determine charset, but not the other way around.But you could at least suppose the default collation for each charset e.g. And there the collation is also not set (possibly too, when creating a database).īTW: charset and collation are 2 different things, as collation additionally does set the searches equivalencies, e.g.: e = é = è = ê = E if it is -ci and e != E if it's not -ci. But then now it seems that it is not applied ?īut here the database got created automatically as Joomla installation was INTO NEW DATABASE. Such a statement is needed and I was supposing it was there.Īnd that setting defaults to UTF-8 correctly according to virtualmin settings. Feel free to change to bug, in which case it's a major one, and fix should include fixing databases's default collation and possibly tables and rows' collation (ouch!). I also only see a setting for charset but not for exact collation in mysql settings of site templates.Ĭharacter set for MySQL data: now Default (default what btw?)īut that seems only for displaying data ?Ĭreate sub-server, install joomla 1.5 into new database, then install any component with table, then take a look at tables with PhpMyAdmin: joomla core tables are utf-8 and the tables of the installed component are latin1-sweedish (and joomla installer DOES NOT specify the collation, so it's really the database default collation which is default latin-1 (as displayed by PhpMyAdmin at bottom of collations column of tables display table).Īs those databases are created by Virtualmin, my conclusion is that the Site Template setting of Mysql of UTF-8 is NOT respected at database creation.Īs usual, I might be wrong, so I'm not marking this as bug but as Support Request. I don't see where we can set that, as it's not recommended to change general MySQLserver global default collation from the default latin1-swedish. (Btw: needed phpmyadmin to see that as the virtualmin mysql browser doesn't show that) But any extension installed after that has latin1-swedish, which gives a mixture of collation, breaking MySQL queries and international text stored, which is less fun. Interestingly the script installer of Joomla 1.5 results in utf8 Mysql tables. I would expect datasbases created by Virtualmin and by Virtualmin installers (at least the Joomla 1.5 one as Joomla 1.5 requires UTF-8, maybe scripts requiring something else could use something else, but for Joomla 1.5 it's needed) to create databases with utf-8 charset and utf-8-general-ci collation by default, so that new tables created would be utf-8 by default too (and not latin1-swedish-ci like now). ![]() In Site Templates -> MySql we have set UTF-8 in Default, and inherit from default template for other templates. command = () Ĭommand.CommandText = "set collation_connection = utf8_slovenian_ci " Ĭommand.CommandType = one is one I'm stumped upon: ending up thinking it could be a virtualmin bug, unless once more i didn't see a setting. I've tried this code as suggested but to no avail: partial void OnContextCreated() Can't change server default connection collation because of other databases and their respected applications that use them.Īll I'd like to specify is a certain connection string parameter in my web.config file like: "User id=dbuser Password=dbpass Host=dbserver Database=testung Collation=utf8_general_ci"īut Collation setting/variable isn't recognised.Can't call SET COLLATION_CONNECTION after I open a connection, because I'm using Entity Framework that does all the calls for me not entirely true as you may see in the edit.Is it possible to set connection collation within MySql connection string and how, since there's a default setting on the server that's used for new connections.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |