[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gambas-bugtracker] Bug #3129: MySQL character set issue


http://gambaswiki.org/bugtracker/edit?object=BUG.3129&from=L21haW4-

Gianluigi GRADASCHI reported a new bug.

Summary
-------

MySQL character set issue

Type             : Bug
Priority         : Medium
Gambas version   : Master
Product          : Database component


Description
-----------

This is my situation:

MySQL connection id is 8
Server version: 8.0.44-0ubuntu0.24.04.2 (Ubuntu)

mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

mysql> SHOW VARIABLES LIKE "%version%";
+--------------------------+-------------------------+
| Variable_name            | Value                   |
+--------------------------+-------------------------+
| admin_tls_version        | TLSv1.2,TLSv1.3         |
| immediate_server_version | 999999                  |
| innodb_version           | 8.0.44                  |
| original_server_version  | 999999                  |
| protocol_version         | 10                      |
| replica_type_conversions |                         |
| slave_type_conversions   |                         |
| tls_version              | TLSv1.2,TLSv1.3         |
| version                  | 8.0.44-0ubuntu0.24.04.2 |
| version_comment          | (Ubuntu)                |
| version_compile_machine  | x86_64                  |
| version_compile_os       | Linux                   |
| version_compile_zlib     | 1.3                     |
+--------------------------+-------------------------+

mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database   | utf8mb4_0900_ai_ci |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+

This is the console response if I insert emoticons into the names.
The MySQL error is "incorrect string value."
It seems the connection isn't taking my settings into account.
I'm attaching a test project.
Regards
Note: The test works with Postgres and SQLite.

System charset = UTF-8
======================
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
gb.db2.mysql: select version()
gb.db2.mysql: SET NAMES 'utf8'
gb.db2.mysql: SHOW VARIABLES LIKE 'character_set_client'
gb.db2.mysql: SHOW DATABASES
gb.db2.mysql: DROP DATABASE `dbflowers`
gb.db2.mysql: SHOW DATABASES
gb.db2.mysql: CREATE DATABASE `dbflowers`
gb.db2.mysql: SHOW DATABASES
WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
gb.db2.mysql: select version()
gb.db2.mysql: SET NAMES 'utf8'
gb.db2.mysql: SHOW VARIABLES LIKE 'character_set_client'
gb.db2.mysql: START TRANSACTION
gb.db2.mysql: SHOW TABLES
gb.db2.mysql: CREATE TABLE `t_flowers` ( `id_flower` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT NOT NULL, `name` VARCHAR(32), `date` DATETIME, PRIMARY KEY (`id_flower`))
gb.db2.mysql: INSERT INTO `t_flowers` ( `name`, `date` ) VALUES ( 'Akelei 🤪', '2019-06-04 00:00:00' )
gb.db2.mysql: ROLLBACK


System information
------------------

[System]
Gambas=3.21.99 df6f746 (master)
OperatingSystem=Linux
Distribution=Linux Mint 22.2 (Zara)
Kernel=6.8.0-90-generic
Architecture=x86_64
Cores=4
Memory=5925M
Language=it_IT.UTF-8
Platform=x11
Desktop=CINNAMON
DesktopResolution=96
DesktopScale=7
WidgetTheme=mint-y-aqua
Font=Ubuntu,10
DarkTheme=False
[Programs]
dpkg=Debian "dpkg", programma di gestione dei pacchetti versione 1.22.6 (amd64).
gcc=gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
git=git version 2.43.0
msgmerge=msgmerge (GNU gettext-tools) 0.21
[Libraries]
Cairo=libcairo.so.2.11800.0
Curl=libcurl.so.4.8.0
DBus=libdbus-1.so.3.32.4
GDK2=libgdk-x11-2.0.so.0.2400.33
GDK3=libgdk-3.so.0.2409.32
GStreamer=libgstreamer-1.0.so.0.2402.0
GTK+2=libgtk-x11-2.0.so.0.2400.33
GTK+3=libgtk-3.so.0.2409.32
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.134.0.0
QT5=libQt5Core.so.5.15.13
QT6=libQt6Core.so.6.4.2
RSvg=librsvg-2.so.2.50.0
SDL=libSDL2-2.0.so.0.3000.0
SQLite3=libsqlite3.so.0.8.6
[Environment]
CINNAMON_VERSION=6.4.8
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=cinnamon
DISPLAY=:0
GB_GUI=gb.gtk3
GDMSESSION=cinnamon
GDM_LANG=it
GIO_LAUNCHED_DESKTOP_FILE=/usr/share/applications/gambas3.desktop
GIO_LAUNCHED_DESKTOP_FILE_PID=4759
GJS_DEBUG_OUTPUT=stderr
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
GTK_MODULES=gail:atk-bridge
HOME=<home>
LANG=it_IT.UTF-8
LANGUAGE=it_IT.UTF-8
LOGNAME=<user>
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=<home>
QT_ACCESSIBILITY=1
QT_LOGGING_RULES=*.debug=false
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1253,unix/<hostname>:/tmp/.ICE-unix/1253
SHELL=/bin/bash
SHLVL=0
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_ACTIVATION_TOKEN=cinnamon/Gambas 3/1667-8-<hostname>_TIME6778482
XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg
XDG_CURRENT_DESKTOP=X-Cinnamon
XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=cinnamon
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7



----[ Gambas bugtracker-list is hosted by https://www.hostsharing.net ]----