J'ai une erreur de jeu de caractères MySQL. Je suis coréen, donc j'ai besoin de mettre le coréen dans le serveur MySQL. mais je ne peux pas. J'ai changé tout jeu de caractères, et envoyer la requête "SET NAMES UTF8MB4" mais mon programme imprimer à nouveau Même erreur.Impossible de corriger la valeur de chaîne incorrecte de MySQL (déjà modifier tous les jeux de caractères)
J'essaie de mettre « 테스트 » Et Insérer dans Au programme (Gage Langue)
FormatEx(Query, sizeof(Query), "INSERT INTO %s_bans (type, ip, name, created, ends, length, reason, aid, adminIp, sid, country) VALUES \
(1, '%s', '', UNIX_TIMESTAMP(), UNIX_TIMESTAMP() + %d, %d, '%s', (SELECT aid FROM %s_admins WHERE authid = '%s' OR authid REGEXP '^STEAM_[0-9]:%s$'), '%s', \
(SELECT sid FROM %s_servers WHERE ip = '%s' AND port = '%s' LIMIT 0,1), ' ')",
DatabasePrefix, ip, (minutes * 60), (minutes * 60), banReason, DatabasePrefix, adminAuth, adminAuth[8], adminIp, DatabasePrefix, ServerIp, ServerPort);
J'essaie beaucoup de recherche et de test, je ne peux pas corriger cette erreur. Merci!
OS Server: Ubuntu Server 16.04.3 64bit
MySQL Erreur:
L 09/11/2017 - 20:18:22: [sbpp_main.smx] Verify Insert Query Failed: Incorrect string value: '\xED \x85 \x8C ...' for column 'reason' at row 1
Afficher les variables comme CHAR% '; :
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
show créer sb_bans de table (table cible):
| sb_bans | CREATE TABLE `sb_bans` (
`bid` int(6) NOT NULL AUTO_INCREMENT,
`ip` varchar(32) DEFAULT NULL,
`authid` varchar(64) NOT NULL DEFAULT '',
`name` varchar(128) NOT NULL DEFAULT 'unnamed',
`created` int(11) NOT NULL DEFAULT '0',
`ends` int(11) NOT NULL DEFAULT '0',
`length` int(10) NOT NULL DEFAULT '0',
`reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`aid` int(6) NOT NULL DEFAULT '0',
`adminIp` varchar(32) NOT NULL DEFAULT '',
`sid` int(6) NOT NULL DEFAULT '0',
`country` varchar(4) DEFAULT NULL,
`RemovedBy` int(8) DEFAULT NULL,
`RemoveType` varchar(3) DEFAULT NULL,
`RemovedOn` int(10) DEFAULT NULL,
`type` tinyint(4) NOT NULL DEFAULT '0',
`ureason` text,
PRIMARY KEY (`bid`),
KEY `sid` (`sid`),
FULLTEXT KEY `reason` (`reason`),
FULLTEXT KEY `authid_2` (`authid`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 |
MySQL Statut:
mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Connection id: 54
Current database:
Current user: [email protected]
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.19-0ubuntu0.16.04.1 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 18 min 43 sec
Threads: 7 Questions: 1697 Slow queries: 0 Opens: 203 Flush tables: 1 Open tables: 118 Queries per second avg: 1.511
mysqld.cnf
[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8mb4_general_ci"
init_connect="SET NAMES utf8mb4"
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
[client]
default-character-set=utf8mb4
mysql.cnf
[mysql]
default-character-set = utf8mb4
mysqldump.cnf
[mysqldump]
default-character-set = utf8mb4
Alors ... quelle chaîne essayez-vous d'insérer, et comment, et dans quel encodage est-ce? – deceze
@deceze J'essaie "테스트", utilisez insert into. et quel sens «dans quel encodage est-ce»? Sry My Bad English :( – Darkhost
Comment vous connectez-vous à la base de données dans [tag: pawn], d'où vient la chaîne que vous essayez d'insérer, c'est beaucoup plus sur le côté pawn que sur le côté MySQL. des détails sur votre code de pion, moins de votre configuration de serveur MySQL. – deceze