Hello.


I've tested your solution. It doesn't work for users which have SUPER

privilege. This mentioned at:

  http://dev.mysql.com/doc/mysql/en/server-system-variables.html



However, it works with with ordinary users which don't have SUPER

privilege. Here are pieces of my my.cnf (the init_connect is one big string

without line breaks):



[client]



default_character_set=latin1



[mysqld]

default_character_set=latin2

init_connect='SET @lchar = IF(@@session.character_set_client =

_utf8"latin1", @@global.character_set_client,

@@session.character_set_client); set

@@[EMAIL PROTECTED];  set

@@[EMAIL PROTECTED]; set

@@[EMAIL PROTECTED]; '





When root user connects init_connect doesn't execute and we see:

 mysql> show variables like '%char%';

 
+--------------------------+-------------------------------------------------------------------------------+

 | Variable_name            | Value                   |

 
+--------------------------+-------------------------------------------------------------------------------+

 | character_set_client     | latin1                   |

 | character_set_connection | latin1                   |

 | character_set_database   | latin2                   |

 | character_set_results    | latin1                   |

 | character_set_server     | latin2                   |

 | character_set_system     | utf8                   |

 |





When user without SUPER privilege connects we see:

  | Variable_name            | Value                   |

        
+--------------------------+-------------------------------------------------------------------------------+

        | character_set_client     | latin2                   |

        | character_set_connection | latin2                   |

        | character_set_database   | latin2                   |

        | character_set_results    | latin2                   |

        | character_set_server     | latin2                   |

        | character_set_system     | utf8                   |







So it works for me.













>>   http://dev.mysql.com/doc/mysql/en/mysqldump.html

> Dump & restore was done properly. dump on 4.0, add set names latin2; load i=

> nto=20

> 4.1. The problem is that by default connections from client are as latin1, =

> db=20

> is latin2 so servers needs to do conversion from latin2->latin1 which can't=

> =20

> be done and thus I'm getting '?' characters instead of latin2 characters.

> 

> The thing I need is how to force default latin2 in all client connections e=

> ven=20

> if client won't request latin2 by using set names.

> 

> Tried doing things like in mysqld.conf:

> 

> init-connect =3D SET @lchar =3D IF(@@session.character_set_client =3D _utf8=

> "latin1",=20

> @@global.character_set_client, @@session.character_set_client); SET=20

> character_set_client =3D @lchar; SET character_set_results =3D @lchar; SET=

> =20

> character_set_connection =3D @lchar;

> 

> but that doesn't work unfortunately from init-connect (works from mysql=20

> cmdline client) ;-(

> =2D-=20

> Arkadiusz Mi=B6kiewicz                    PLD/Linux Team

> http://www.t17.ds.pwr.wroc.pl/~misiek/  http://ftp.pld-linux.org/

> 



-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.NET http://www.ensita.net/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Gleb Paharenko
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.NET
       <___/   www.mysql.com




-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to