Utilisation de Lazarus avec Mysql (Complément)
Problème d’affichage des accents avec Mysql
Par défaut, les composants d’accès natif de Lazarus ne proposent pas la gestion de l’UTF-8 et les données ne seront pas affichées correctement dans les champs (TDBEdit, TDBGrid, etc). Ce problème peut également survenir avec d’autres composants d’accès comme ceux de ZEOS. Appliquez dans ce cas la même méthode que pour les composants natifs. Pour remédier à cela, placez un TSqlQuery (Name = SqlQuerySet) sur votre Form ou votre DataModule et utilisezle de la manière suivante. Dans le code de l’événement AFTERCONNECT du TSqlConnection, placez le code suivant :
SQLQuerySet.SQL.Text : = ‘SET CHARACTER SET `utf8`’; SQLQuerySet.ExecSql;
Lors de la connection, la séquence sera envoyée à la base de données et vos données seront bien affichées par la suite.
Paramétrage de Mysql pour un accès distant
Dans le fichier de configuration de MySql (my.cnf) ou (my.ini), assurez-vous que la ligne BIND-ADRESS soit mise en commentaire. Si elle ne l’est pas, seules les connections depuis l’IP spécifiée seront autorisées.
bind-adress # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. # bind-address = 127.0.0.1
Le port 3306 est utilisé par défaut par Mysql. Vérifiez un blocage par le firewall en cas de soucis. L’utilisateur devant accéder à la base depuis un poste distant doit avoir les privilèges pour effectuer cette opération..