WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
Pages: Précédent123
Page courante: 3 de 3
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Otomatic (Modérateur)
Date: 01 January 2021 à 15:35

Bonjour,

Tout est bien déclaré utf-8 et je comprends ni comment, ni pourquoi, dans un environnement déclaré utf-8 vous visualisez les caractères avec un jeu de caractères iso-8859-1

En effet, vous voyez " Temperature of water: 22°C-28°C" au lieu de " Temperature of water: 22°C-28°C"

Le caractère degré °, en iso-8859-1 est codé sur un seul octet : 0xB0 et en utf-8 sur deux octets : 0xC2B0 et c'est comme si les paramètres de l'affichage de cette chaine de caractère "Temperature of water: 22°C-28°C" n'était pas utf8 mais iso-8859.1, c'est-à-dire la prise en compte d'un jeu de caractères mono-octet qui fait afficher le caractère codé 0xC2 c'est-à-dire  suivi du caractère codé 0xB0 c'est-à-dire °

À moins... que vous ayez défini pour le navigateur et/ou la page affichée une police de caractère qui ne prend pas en compte l'utf8.
Une police de caractères (Font) n'est pas un jeu de caractères (Charset).

Après... je n'ai plus rien.

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »



Modifie 1 fois. Derniere modification le 02/01/2021 à 08:41 par Otomatic.

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Artemus24 (---.70.16.109.rev.sfr.net)
Date: 01 January 2021 à 21:10

Salut Otomatic.

Parce que vous avez oublié de déclarer ceci dans My.ini.
init-connect = 'SET NAMES utf8 COLLATE utf8_general_ci'

@+

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Mon site : [www.jcz.fr]

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Artemus24 (---.70.16.109.rev.sfr.net)
Date: 02 January 2021 à 10:56

Salut à tous.

Citation
Stephsteph
Pour les suggestions de Artemus23, ...

Vous faites une confusion avec Maximus23. Je suis Artemus24. Le 24 c'est pour la dordogne.

Chez moi, voici ce que je vois dans la console :
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+-----------------------------------------------+
| Variable_name            | Value                                         |
+--------------------------+-----------------------------------------------+
| character_set_client     | latin1                                        |
| character_set_connection | latin1                                        |
| character_set_database   | latin1                                        |
| character_set_filesystem | latin1                                        |
| character_set_results    | latin1                                        |
| character_set_server     | latin1                                        |
| character_set_system     | utf8                                          |
| character_sets_dir       | f:\Wamp\bin\mysql\mysql8.0.22\share\charsets\ |
+--------------------------+-----------------------------------------------+
8 rows in set (0.01 sec)

mysql>

Cela se paramètre dans le fichier "my.ini".

Citation
Stephsteph
Est-ce important ?

Oui car vous risquez d'avoir des warnings et dans certains cas des erreurs à l'affichage de vos accents.

Citation
Stephsteph
Pour les suggestions de Artemus23, je suis trop newbie pour savoir comment adapter.

Je constate que votre fichier "my.ini" est presque vide.
On se repère dans le fichier "my.ini" à partir des sections.
C'est ce qui est entre crochet, comme "[client]", "[mysqld]", "[mysqldadmin]", "[mysqldump]", "[myisamchk]", "[mysqlhotcopy]", "[mysql]", et "[mysqld_safe]".
Vous devez mettre vos modifications juste après la section que je vais vous préciser, en remplacement de ce que vous avez déjà.
Je parle bien sûr des lignes qui sont relatives aux charset et collation, ainsi que celles concernant le "load data infile".
Vous ne touchez pas au reste de votre fichier "my.ini".

Pour la section client :
[client]
# --------------- #
#     Charset     #
# --------------- #

default-character-set = utf8

Pour la section serveur dont le nom est "mysqld" ou chez vous, peut-être "wampmysqld".
[mysqld]
# --------------- #
#     Charset     #
# --------------- #

character-set-server     = utf8
collation-server         = utf8_general_ci
character-set-filesystem = utf8

init-connect             = 'SET NAMES utf8 COLLATE utf8_general_ci'

# ------------------------------ #
#     Load data local infile     #
# ------------------------------ #

local-infile = 1

secure-file-priv  = E:/30.MySql

loose-local-infile = on

Citation
Stephsteph
Pour le fichier ".csv" à charger :

Vous devez créer un fichier du même nom qui se trouve dans votre ligne : LOAD DATA INFILE 'D:/wamp64/tmp/Localitiesmysql.csv'".

Citation
Stephsteph
S'agit il de créer un fichier .csv rempli seulement avec ses 3 lignes puis de faire un load data infile avec ce fichier???

Oui, c'est bien ça. Normalement ce fichier ".csv" est un fichier qui provient de votre tableur Excel. Ce fichier est de type "text".

Citation
Stephsteph
Une dernière remarque, dans ma table j'ai dans la bdd de Juin comme dans la nouvelle, pour localitiesbase (et les autres tables) interclassement utf8_general_ci, et non DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci` comme l'indique Artemus23

Je travaille uniquement en "latin1". Si vous travaillez en "utf8", mettez à la place de "latin1", le charset "utf8".
Si vous avez des problèmes avec vos charset, consultez ceux que vous avez dans votre SGBDR Mysql :
SHOW CHARACTER SET;

@+

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Mon site : [www.jcz.fr]

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Stephsteph (---.115.148.77.rev.sfr.net)
Date: 02 January 2021 à 11:56

Bonjour Otomatic,

<<<
À moins... que vous ayez défini pour le navigateur et/ou la page affichée une police de caractère qui ne prend pas en compte l'utf8.
Une police de caractères (Font) n'est pas un jeu de caractères (Charset).
>>>>

Non, je n'ai pas de caractère fantaisie dans le site et de toute façon rien n'a changé de mon côté, seulement W10, Office 2019 et WS 3.10, comparé à avant avec Non, je n'ai pas de caractère fantaisie dans le site et de toute façon rien n'a changé de mon côté, seulement W vista, Office 2007 et WS 2.5

Merci


JH

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Stephsteph (---.115.148.77.rev.sfr.net)
Date: 02 January 2021 à 12:02

Bonjour Artemus24,

Merci pour votre "input".
Je vais vers mes 70 ans et donc mes yeux ne sont pas toujours azimutés, désolé pour le 23 et pas 24.

Je viens d'introduire vos modifs dans mon fichier my.ini mais lors du load data infile via requête SQL de phpmyadmin j'ai maintenant une erreur:

<<<<<<<<<<<<<<<

LOAD DATA INFILE 'D:/wamp64/tmp/Localitiesmysql.csv' REPLACE INTO TABLE localitiesbase
FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 0 LINES

MySQL a répondu : Documentation
#1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

>>>>>>>>>>>>>>>>>


Par sécurité voici mon fichier my.ini tel que généré lors de l'installation de Wamp64 et modifié auparavant par Otomatic et comme je crois que vous le demandez (j'ai juste une interrogation car sur mon ordi je n'ai pas de lecteur E: quand vous écrivez secure-file-priv = E:/30.MySql)

<<<<<<<<<<<<<<<<<<<

; Example MySQL config file for medium systems.
;
; This is for a large system with memory of 1G-2G where the system runs mainly
; MySQL.
;
; MySQL programs look for option files in a set of
; locations which depend on the deployment platform.
; You can copy this option file to one of those
; locations. For information about these locations, see:
; [dev.mysql.com]
;
; In this file, you can use all long options that a program supports.
; If you want to know which options a program supports, run the program
; with the "--help" option.

; The following options will be passed to all MySQL clients
[client]
;password = your_password
port =3306
socket = /tmp/mysql.sock
; --------------- #
; Charset #
; --------------- #

default-character-set = utf8

; Here follows entries for some specific programs

; The MySQL server
[wampmysqld64]
;skip-grant-tables
default_authentication_plugin=mysql_native_password
port =3306
socket = /tmp/mysql.sock
key_buffer_size = 256M
max_allowed_packet = 1M

;Added to reduce memory used (minimum is 400)
table_definition_cache = 600

sort_buffer_size = 2M
net_buffer_length = 8K
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 64M
;Path to mysql install directory
basedir="D:/wamp64/bin/mysql/mysql5.7.31"
log-error="D:/wamp64/logs/mysql.log"
;Verbosity Value 1 Errors only, 2 Errors and warnings , 3 Errors, warnings, and notes
log_error_verbosity=2
;Path to data directory
datadir="D:/wamp64/bin/mysql/mysql5.7.31/data"

;Path to the language
;See Documentation:
; [dev.mysql.com]
lc-messages-dir="D:/wamp64/bin/mysql/mysql5.7.31/share"
lc-messages=fr_FR

; The default storage engine that will be used when create new tables
default-storage-engine=MYISAM
; New for MySQL 5.6 default_tmp_storage_engine if skip-innodb enable
; default_tmp_storage_engine=MYISAM

;To avoid warning messages
;secure_file_priv="D:/wamp64/tmp"
secure_file_priv=""
local_infile=On
skip-ssl

explicit_defaults_for_timestamp=true

; Set the SQL mode to strict
;sql-mode=""
sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"

; Don't listen on a TCP/IP port at all. This can be a security enhancement,
; if all processes that need to connect to mysqld run on the same host.
; All interaction with mysqld must be made via Unix sockets or named pipes.
; Note that using this option without enabling named pipes on Windows
; (via the "enable-named-pipe" option) will render mysqld useless!
;
;skip-networking

; Disable Federated by default
skip-federated

; Replication Master Server (default)
; binary logging is required for replication
;log-bin=mysql-bin

; binary logging format - mixed recommended
;binlog_format=mixed

; required unique id between 1 and 2^32 - 1
; defaults to 1 if master-host is not set
; but will not function as a master if omitted
server-id = 1

; Replication Slave (comment out master section to use this)

; New for MySQL 5.6 if no slave
skip-slave-start

;
; To configure this host as a replication slave, you can choose between
; two methods :
;
; 1) Use the CHANGE MASTER TO command (fully described in our manual) -
; the syntax is:
;
; CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
; MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
;
; where you replace <host>, <user>, <password> by quoted strings and
; <port> by the master's port number (3306 by default).
;
; Example:
;
; CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
; MASTER_USER='joe', MASTER_PASSWORD='secret';
;
; OR
;
; 2) Set the variables below. However, in case you choose this method, then
; start replication for the first time (even unsuccessfully, for example
; if you mistyped the password in master-password and the slave fails to
; connect), the slave will create a master.info file, and any later
; change in this file to the variables' values below will be ignored and
; overridden by the content of the master.info file, unless you shutdown
; the slave server, delete master.info and restart the slaver server.
; For that reason, you may want to leave the lines below untouched
; (commented) and instead use CHANGE MASTER TO (see above)
;
; required unique id between 2 and 2^32 - 1
; (and different from the master)
; defaults to 2 if master-host is set
; but will not function as a slave if omitted
;server-id = 2
;
; The replication master for this slave - required
;master-host = <hostname>
;
; The username the slave will use for authentication when connecting
; to the master - required
;master-user = <username>
;
; The password the slave will authenticate with when connecting to
; the master - required
;master-password = <password>
;
; The port the master is listening on.
; optional - defaults to 3306
;master-port = <port>
;
; binary logging - not required for slaves, but recommended
;log-bin=mysql-bin

; Point the following paths to different dedicated disks
;tmpdir = /tmp/
;log-update = /path-to-dedicated-directory/hostname

; The InnoDB tablespace encryption feature relies on the keyring_file
; plugin for encryption key management, and the keyring_file plugin
; must be loaded prior to storage engine initialization to facilitate
; InnoDB recovery for encrypted tables. If you do not want to load the
; keyring_file plugin at server startup, specify an empty string.
early-plugin-load=""

;innodb_data_home_dir = C:/mysql/data/
innodb_data_file_path = ibdata1:12M:autoextend
;innodb_log_group_home_dir = C:/mysql/data/
;innodb_log_arch_dir = C:/mysql/data/
; You can set .._buffer_pool_size up to 50 - 80 %
; of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 256M
; Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_flush_method=normal

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
; Remove the next comment character if you are not familiar with SQL
;safe-updates

[isamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M

[myisamchk]
key_buffer_size = 20M
sort_buffer_size_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M

[mysqlhotcopy]
interactive-timeout

[mysqld]
default_authentication_plugin=mysql_native_password
port =3306
secure-file-priv = ""
; --------------- #
; Charset #
; --------------- #

character-set-server = utf8
collation-server = utf8_general_ci
character-set-filesystem = utf8

init-connect = 'SET NAMES utf8 COLLATE utf8_general_ci'

; ------------------------------ #
; Load data local infile #
; ------------------------------ #

local-infile = 1

secure-file-priv = E:/30.MySql

loose-local-infile = on




>>>>>>>>>>>>>>>>>>>>>>>>

Enfin, si je fais dans la table localities

SHOW VARIABLES LIKE 'char%';

j'ai

character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database latin1
character_set_filesystem utf8
character_set_results utf8mb4
character_set_server utf8
character_set_system utf8
character_sets_dir D:\wamp64\bin\mysql\mysql5.7.31\share\charsets\


Voilà je crois avoir répondu à toutes les précisions!!!

Bien cordialement

JH

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Artemus24 (---.70.16.109.rev.sfr.net)
Date: 03 January 2021 à 20:35

Salut stephsteph.

Votre fichier "my.ini" n'est pas conforme.

Le commentaire sous "my.ini" commence par un dièse (#), comme sous "httpd.conf".
Inversement le commentaire sous "php.ini" commence par une virgule (winking smiley.

Afin d'alléger la lisibilité de votre fichier "my.ini", supprimez les commentaire qui ne servent à rien.

Je vous avais demandé de remplacer mes modifications dans votre fichier "my.ini", en les mettant dans la bonne section, ce que vous n'avez pas fait.
Chez vous, la bonne section est "[wampmysqld64]".

En regardant de plus près votre fichier "my.ini", je pense que vous avez des erreurs.
La version de votre mysql est fort ancienne : 5.7.31.
Il faudrait songer à basculer vers une version plus récente. La dernière en date est la version 8.0.22.

Je vous conseille de lire mon site 'jcz.fr' et en particulier la partie consacré à mysql.

@+

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Mon site : [www.jcz.fr]

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Otomatic (Modérateur)
Date: 04 January 2021 à 08:24

Bonjour,

> Le commentaire sous "my.ini" commence par un dièse (#), comme sous "httpd.conf".
Tous les # de définitions de lignes commentaire de my.ini sont systématiquement remplacés par un point-virgule ( ; ) sinon la fonction php parse_ini_file() passe en erreur.

> Inversement le commentaire sous "php.ini" commence par une virgule ( ; ).
Un point-virgule.

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Stephsteph (---.115.148.77.rev.sfr.net)
Date: 04 January 2021 à 12:45

Bonjour Artemus24 et Otomatic,

Merci de vos feedbacks et de votre patience,

J'utilise le dernier package stable de WS selon votre site téléchargé il y a moins d'1 mois (la version 8.0 ne semblait pas en faire partie).

J'ai bien un fichier text en .csv de localities dans le sous-dossier bin de Wamp64, issu de Excel 2019 et transformé en UTF-8 sans Bom via Notepad++.

Je n'ai rien changé au fichier my.ini tel que téléchargé avec le package sauf ce que vous deux m'avez demandé dans ce fil.

Donc je viens d'enlever ce qui est en vert sur mon fichier my.ini pour éclaircir.

Dans le peu qui reste, je ne vois rien de bizarre sauf peut-être (???):

default-storage-engine=MYISAM

Artemus24 vous m'aviez demandé de mettre le nouveau code dans je cite "Pour la section serveur dont le nom est [mysqld] ou chez vous, peut-être [wampmysqld]" mais pas dans [wampmysqld64]
Maintenant c'est fait mais je ne suis pas sûr qu'il n'y ait pas redondance ou incohérences avec les autres additions de Otomatic dans [mysqld].

Artemus24, vous ne dites pas ce que je dois faire avec votre code :
secure-file-priv = E:/30.MySql
comme je n'ai pas de lecteur E: je me suis demandé si ce n'est pas là d'où vient l'erreur... mais après déplacement des lignes dans [wampmysqld64], il n'y a plus de message d'erreur.

Mais, hélas, 3 fois hélas, les caractères spéciaux s'affichent toujours mal dans la table de localities (et les autres) avec ce nouveau fichier my.ini.

Par ailleurs je viens de faire un test en créant une toute nouvelle base de test avec character_set_database = Latin1 (donc pas copiée puis actualisée sur celle de Juin), une nouvelle table avec des colonnes modifiées pour l'interclassement en latin1_general_ci et contenant des caractères spéciaux mais encore... ils s'affichent mal.

Voici le code de my.ini épuré :
<<<<<<<<<<<<<<<<
[client]
port =3306
socket = /tmp/mysql.sock

default-character-set = utf8


[wampmysqld64]

default_authentication_plugin=mysql_native_password
port =3306
socket = /tmp/mysql.sock
key_buffer_size = 256M
max_allowed_packet = 1M

table_definition_cache = 600

sort_buffer_size = 2M
net_buffer_length = 8K
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 64M

basedir="D:/wamp64/bin/mysql/mysql5.7.31"
log-error="D:/wamp64/logs/mysql.log"

log_error_verbosity=2

datadir="D:/wamp64/bin/mysql/mysql5.7.31/data"

lc-messages-dir="D:/wamp64/bin/mysql/mysql5.7.31/share"
lc-messages=fr_FR


default-storage-engine=MYISAM



secure_file_priv=""
local_infile=On
skip-ssl

explicit_defaults_for_timestamp=true


sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"


skip-federated


server-id = 1

skip-slave-start


early-plugin-load=""


innodb_data_file_path = ibdata1:12M:autoextend

innodb_buffer_pool_size = 256M

innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_flush_method=normal

character-set-server = utf8
collation-server = utf8_general_ci
character-set-filesystem = utf8

init-connect = 'SET NAMES utf8 COLLATE utf8_general_ci'


local-infile = 1

secure-file-priv = E:/30.MySql

loose-local-infile = on

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M

[myisamchk]
key_buffer_size = 20M
sort_buffer_size_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M

[mysqlhotcopy]
interactive-timeout

[mysqld]
default_authentication_plugin=mysql_native_password
port =3306
secure-file-priv = ""

character-set-server = utf8
collation-server = utf8_general_ci
character-set-filesystem = utf8

init-connect = 'SET NAMES utf8 COLLATE utf8_general_ci'


local-infile = 1

loose-local-infile = on

>>>>>>>>>>>>>>>>>>>

Otomatic je n'ai rien touché au code de php.ini!!!

Artemus24 si je fais la requête SHOW VARIABLES LIKE 'char%' dans la table de localities, j'ai:

Variable_name Value
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database latin1
character_set_filesystem utf8
character_set_results utf8mb4
character_set_server utf8
character_set_system utf8
character_sets_dir D:\wamp64\bin\mysql\mysql5.7.31\share\charsets\

Soit exactement la même chose que ce que j'ai eu avec ma base test et ma table testnew "forcées" avec Latin1.


Enfin j'insiste : je prends ce que vous voulez en terme de "characters" (UTF-8 ou Latin ou autre) pour autant que mes caractères spéciaux (accents, degrés, guillemets, croix mortuaire, etc.) s'affichent correctement.

Dites-moi svp précisément et je me conformerai.

Bien cordialement,

JH

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Artemus24 (---.70.16.109.rev.sfr.net)
Date: 04 January 2021 à 14:39

Salut à tous.

Je vous communique mon fichier my.ini :
# ********************* #
#                       #
#     Sphere "Bleu"     #
#                       #
# ********************* #

# ==================== #
#     MySql Client     #
# ==================== #

[client]
port   = 3306
socket = mysql

# ----------------------- #
#     access features     #
# ----------------------- #

host     = localhost
user     = root
password = toor

# --------------- #
#     Charset     #
# --------------- #

default-character-set = latin1

# ==================== #
#     MySql Server     #
# ==================== #

[mysqld]
port     = 3306
socket   = mysql

# ---------------------- #
#     Master & Slave     #
# ---------------------- #

server-id = 1
skip-slave-start

# ---------------#
#     Buffer     #
# ---------------#

join-buffer-size      = 512M
read-buffer-size      = 512M
read-rnd-buffer-size  = 512M
sort-buffer-size      = 512M

# --------------- #
#     Charset     #
# --------------- #

character-set-server     = latin1
collation-server         = latin1_general_ci
character-set-filesystem = latin1

init-connect             = 'SET NAMES latin1 COLLATE latin1_general_ci'

# ------------------- #
#     Date & Time     #
# ------------------- #

default-time-zone = SYSTEM

explicit-defaults-for-timestamp = on

# ------------------- #
#     Directories     #
# ------------------- #

basedir = f:/Wamp/bin/mysql/mysql8.0.22/
datadir = f:/Wamp/bin/mysql/mysql8.0.22/data
tmpdir  = f:/Wamp/tmp

# -------------------#
#     Encryption     #
# -------------------#

early-plugin-load = keyring_file.dll
keyring-file-data=f:/Wamp/keyring/keyring

# -------------------------#
#     Full Text Search     #
# -------------------------#

ft-max-word-len  = 10
ft-min-word-len  = 1
ft-stopword-file = ""

# ---------------#
#     InnoDB     #
# ---------------#

default-storage-engine              = InnoDB
default-tmp-storage-engine          = InnoDB

innodb-adaptive-hash-index          = on

innodb-buffer-pool-dump-now         = off
innodb-buffer-pool-dump-at-shutdown = off
innodb-buffer-pool-instances        = 2
innodb-buffer-pool-load-at-startup  = off
innodb-buffer-pool-size             = 1G

innodb-data-file-path               = ibdata1:12M:autoextend:max:500M
innodb-data-home-dir                = f:/Wamp/bin/mysql/mysql8.0.22/data
innodb-default-row-format           = compact
innodb-doublewrite                  = on
#skip-innodb_doublewrite

innodb-file-per-table               = 1

innodb-flush-log-at-trx-commit      = 1
innodb-flush-method                 = normal
#innodb-force-recovery               = 1

innodb-ft-enable-stopword           = off
innodb-ft-max-token-size            = 10
innodb-ft-min-token-size            = 0

innodb-io-capacity                  = 2000
innodb-max-dirty-pages-pct          = 90
innodb-lock-wait-timeout            = 600

innodb-log-buffer-size              = 16M
innodb-log-file-size                = 20M
innodb-log-files-in-group           = 2
innodb-log-group-home-dir           = f:/Wamp/bin/mysql/mysql8.0.22/data

innodb-max-dirty-pages-pct          = 80
innodb-optimize-fulltext-only       = 1
innodb-page-size                    = 16K
innodb-purge-threads                = 10
innodb-read-io-threads              = 10
innodb-stats-on-metadata            = 0
# innodb-strict-mode                  = off
innodb-thread-concurrency           = 16
innodb-undo-log-truncate            = on
innodb-write-io-threads             = 4

# ---------------- #
#     Language     #
# ---------------- #

lc-messages   = fr_FR
lc-time-names = fr_FR

# ------------------------ #
#     Load data infile     #
# ------------------------ #

local-infile = 1

secure-file-priv  = E:/30.MySql

loose-local-infile = on

# -------------------#
#     Binary Log     #
# -------------------#

# binlog-expire-logs-seconds = 0
# expire_logs_day            = 0

# log-bin              = f:/Wamp/logs/mysql_binary_log
# log-bin-index        = f:/Wamp/logs/mysql_binary_log.index

# binlog-cache-size    = 10M
# binlog-format        = mixed
# binlog-do-db         = test
# sync-binlog          = 1

skip-log-bin
skip-log-slave-updates

# --------------------#
#     General Log     #
# --------------------#

#general-log         = 1
#general-log-file    = f:/Wamp/logs/mysql_general.log
#log_output          = 'FILE';

# ------------#
#     Log     #
# ------------#

log-error                              = f:/Wamp/logs/mysql_error.log
log-error-verbosity                    = 3

log-queries-not-using-indexes          = 1
log-slow-admin-statements              = 1
log-throttle-queries-not-using-indexes = 60

# ------------#
#     Max     #
# ------------#

max-allowed-packet     = 16M
max-connections        = 20
max-connect-errors     = 10
max-error-count        = 64
max-heap-table-size    = 512M
max-user-connections   = 0
max-sp-recursion-depth = 255

# ---------------#
#     MyIsam     #
# ---------------#

bulk-insert-buffer-size   = 64M

key-buffer-size           = 1G

myisam-max-sort-file-size = 1G
myisam-recover-options    = off
myisam-repair-threads     = 1
myisam-sort-buffer-size   = 128M
myisam-stats-method       = nulls_unequal
myisam-use-mmap           = off

# -------------------#
#     Networking     #
# -------------------#

back-log           = 50

bind-address       = 0.0.0.0

net-buffer-length  = 8K

# -----------------#
#     Password     #
# -----------------#

default-authentication-plugin     = mysql_native_password
default-password-lifetime         = 0
disconnect-on-expired-password    = 0

# ---------------------------#
#     Performance-Schema     #
# ---------------------------#

# performance-schema                                = ON
# performance-schema-events-waits-history-size      = 20
# performance-schema-events-waits-history-long-size = 1500

# --------------#
#     Query     #
# --------------#

query-alloc-block-size = 8M

# -------------#
#     Skip     #
# -------------#

skip-external-locking
skip-federated
# skip-mysqlx


# skip-grant-tables
# skip-innodb-adaptive-hash-index
# skip-innodb-doublewrite

# skip-log-warnings
# skip-networking
# skip-ssl

# --------------------#
#     Slow & Long     #
# --------------------#

long-query-time      = 0

slow-query-log       = 1
slow-query-log-file  = f:/Wamp/logs/mysql_slow.log

# ------------#
#     SSL     #
# ------------#

# skip-ssl

# ssl-ca     = ca.pem
# ssl-cert   = server-cert.pem
# ssl-key    = server-key.pem
# ssl-cipher = DHE-RSA-AES128-GCM-SHA256

sha256-password-auto-generate-rsa-keys=off
caching-sha2-password-auto-generate-rsa-keys=off

ssl-ca     = f:/Wamp/bin/apache/apache2.4.46/conf/certificat/ca/ca.crt
ssl-capath = f:/Wamp/bin/apache/apache2.4.46/conf/certificat/ca/
ssl-cert   = f:/Wamp/bin/apache/apache2.4.46/conf/certificat/Artemus/Server/artemus.crt
ssl-key    = f:/Wamp/bin/apache/apache2.4.46/conf/certificat/Artemus/Server/artemus.key
ssl-cipher = DHE-RSA-AES128-GCM-SHA256

# --------------#
#     Table     #
# --------------#

table-definition-cache = 512
table-open-cache       = 512

# -------------------#
#     Temp Table     #
# -------------------#

tmp-table-size = 1G

# ---------------#
#     Thread     #
# ---------------#

thread-cache-size = 8
thread-stack      = 256K

# ------------------------------#
#     Timeout Configuration     #
# ------------------------------#

connect-timeout     = 600
interactive-timeout = 600
net-read-timeout    = 600
net-write-timeout   = 600
wait-timeout        = 600

# --------------------#
#     Transaction     #
# --------------------#

transaction-isolation = SERIALIZABLE

# ---------------#
#     Tuning     #
# ---------------#

concurrent-insert = 2
open-files-limit  = 8192


# =================== #
#     MySql Admin     #
# =================== #

[mysqldadmin]
force


# ================== #
#     MySql Dump     #
# ================== #

[mysqldump]
add-drop-database
add-drop-table
add-drop-trigger

default-character-set = latin1

flush-logs
flush-privileges

lock-all-tables
max-allowed-packet    = 16M
no-autocommit
order-by-primary
quick
routines

skip-comments
skip-opt
skip-set-charset
skip-tz-utc

triggers


# ===================== #
#     My Isam Check     #
# ===================== #

[myisamchk]
key-buffer-size  = 128M
sort-buffer-size = 128M
read-buffer      = 2M
write-buffer     = 2M


# ====================== #
#     MySql Hot Copy     #
# ====================== #

[mysqlhotcopy]
interactive-timeout


# ===================== #
#     MySql Monitor     #
# ===================== #

[mysql]
no-auto-rehash
#safe-updates
skip-reconnect
table


# ================== #
#     MySql Safe     #
# ================== #

[mysqld_safe]
open-files-limit     = 8192

log-error            = f:/Wamp/logs/mysql_error.log
log-error-verbosity  = 3
Ne le reprenez pas tel quel car il est fait pour mon environnement.
Wampserver est installé dans le répertoire f:/wamp.
Pour mes tests en batch, j'utilise le répertoire e:/mysql
Je travaille en latin1 et non en utf8.

@+

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Mon site : [www.jcz.fr]

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Otomatic (Modérateur)
Date: 04 January 2021 à 20:37

Bonsoir,

@stephsteph

Dans un fichier purement texte (.txt) vous mettez :
- Version MySQL que vous utilisez et mode 32 ou 64bit.
- La requête LOAD DATA exactement comme vous la faite.
- La structure de la table dans laquelle vous importez le LOAD DATA
(PhpMyAdmin peut exporter uniquement les structures des tables)

Vous créez un fichier zip avec ce fichier texte ET le fichier *.csv que vous importez mais dans l'état où il est AVANT de le transcoder par Notepad++

Et vous m'envoyez le fichier zip en pièce jointe à wampserver[at]otomatic.net

Je veux comprendre le problème... dans quel délai... Dieu seul le sait..

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: jh_kd (---.adsl.proxad.net)
Date: 07 January 2021 à 09:35

Bonjour Otomatic et Artemus24,

Je suis de retour à Paris et j'ai pu avoir un bref contact avec Stéphanie, revenue elle aussi, qui m'a expliqué comment retrouver mon PW ici... donc j'utilise mon ID à nouveau (sans usurper le sien!).
Dès qu'elle pourra (rentrée des jeunes) on se retrouvera et elle vérifiera en réinstallant WS 2.5 avec le vieux fichier d'archives en .exe et 32 bits que j'avais gardé de mon ancien ordinateur sur un DD externe (à la place de WS 3.10).

Mais quelque chose l'a titillée dans votre message avec le zip, vous dites de faire un fichier txt avant la conversion par notepad++ en UTF-8 sans bom.
Donc en préparant votre fichier zip sur un morceau de localities avec plein de caractères spéciaux ajoutés j'ai re-testé la requête sur Localitiesmysql.csv avec Windows CR-LF ANSI (et pas UTF-8):
et WS3.10 (ou 3.23) dans PHPMyAdmin

LOAD DATA INFILE 'D:/wamp64/tmp/Localitiesmysql.csv' REPLACE INTO TABLE localitiesbase
FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 0 LINES;

Et... cette fois tout va bien!

si je fais sur la table de localities
SHOW VARIABLES LIKE 'char%'
j'ai

Variable_name Value
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database latin1
character_set_filesystem utf8
character_set_results utf8mb4
character_set_server utf8
character_set_system utf8
character_sets_dir D:\wamp64\bin\mysql\mysql5.7.31\share\charsets\

comme toujours.

Donc c'est nickel, (vrai ou faux?) miracle.

Bon si je fais, comme d'habitude depuis 2014, dans notepad++, convertir, encodage en UTF-8, le problème des caractères spéciaux revient!

Mystère, mais comme je ne suis pas dogmatique, je ne m'obstine pas dans les raisons de cette mutation...

Mais, mais, toujours après UTF-8 si je vais dans localhost, que je tape mon ID/PW, j'accède à la base de données pour les membres avec Firefox... et là tous les caractères spéciaux appelés par la table de localities avec notepad++ et UTF-8 sont encore incorrects et notamment ceux que j'ai ajoutés pour votre fichier zip.

Et si je reprend mon fichier avec Windows CR-LF ANSI (et pas UTF-8) et que je l'encode en UTF-8 sans bom avec Kaboom de Sulisizer, au lieu de Notepad++, le problème persiste, donc ce n'est pas la "faute" de Notepad++.

Bon cette fois si je ré-importe mon fichier avec Windows CR-LF ANSI (et pas UTF-8) via phpmyadmin tout redevient normal et si je teste dans localhost tout reste bon, donc vrai miracle!

Inexpliqué (comme la plupart des miracles)!

Juste une dernier mot : j'utilise Kaboom pour faire un batch de plus de 1000 fichiers transformés de Ansi en UTF-8 depuis le passage à PHP 7.2 chez mon hébergeur (donc rien à voir avec "notre" souci)... et par esprit de provocation j'ai essayé de télécharger un fichier ANSi (avec UTF-8 dans les meta de html5)... juste pour voir... et cette fois cela marche sans la conversion en UTF-8!
Je me demande si Microsoft n'a pas changé les règles du jeu dans un des ces packoffice depuis 2007 (ou seulement dans la version 2019) sans le dire, tout en clamant une intégration verticale pérenne (beaucoup de mes VBA ont aussi dû être modifiées entre "2007" et "2019" malgré cette verticalité revendiquée.

Peut-être que ces réflexions inspireront certains lecteurs du forum et/ou vous les (vrais et modestes) experts Otomatic et Artemus24.

En tout cas plein de mercis et de hugs virtuels.

Voilà... voulez-vous toujours le fichier zip, toujours pour comprendre, Otomatic?

Bien cordialement
JH

Options: Répondre•Citer ce Message
Re: problème de requête SQL dans la nouvelle version de wamp vs. celle de 2014
Envoyé par: Otomatic (Modérateur)
Date: 07 January 2021 à 10:29

Bonjour,

> Bon si je fais, comme d'habitude depuis 2014, dans notepad++, convertir, encodage en UTF-8,
> le problème des caractères spéciaux revient!
Depuis 2014, le système a évolué, PHP est devenu utf-8 par défaut ainsi que MySQL. Et il se peut aussi qu'Office ait, lui aussi changé les règles d'encodage des exports en csv.
Je subodorais une problème de "double-encodage" et je vous l'avez mis en évidence.

Même Windows "peut" maintenant "travailler" en utf-8 au lieu de CP1252 (Western Europe).
Paramètres -> Heures et langues -> Langues -> Paramètres de la langue d'administration
Modifier les paramètres régionaux
- Béta : Utiliser le format Unicode UTF-8 pour une prise en charge des langues à l'échelle mondiale
Je vous donne cela pour vérifier — si autres problème — que ça n'a pas été coché par inadvertance.
J'ai essayé une fois, mais ça a créé beaucoup d'erreurs.

C'est vous dire les sources de problèmes dans les jeux de caractères entre les applications.

> Voilà... voulez-vous toujours le fichier zip, toujours pour comprendre, Otomatic?
Ce n'est plus la peine.

Gardez bien "sous le coude" la procédure qui fonctionne.

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Pages: Précédent123
Page courante: 3 de 3


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP