encodage mysql

Nouveau WRInaute
Bonjour à tous,

Je suis sur une Gentoo Release 2

suite a un emerge --update world

les donnèes provenant de la bd s ' affiche mal

" Très , n’ai belle décoration,"

sachant que:

jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
les page sont en utf8 aussi

amicalement
 
Nouveau WRInaute
a propo de mon my.cnf :


# /etc/mysql/my.cnf: The global mysql configuration file.
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-4.1,v 1.3 2006/05/05 19:51:40 chtekk Exp $

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/run/mysqld/mysqld.sock
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[php-cgi]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysql]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqldump]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[myisamchk]
character-sets-dir=/usr/share/mysql/charsets

[myisampack]
character-sets-dir=/usr/share/mysql/charsets

# use [safe_mysqld] with mysql-3
[mysqld_safe]
err-log = /var/log/mysql/mysql.err

# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
[mysqld]
character-set-server = latin1
init-connect='SET NAMES utf8'
default-character-set = latin1
user = mysql
port = 3306
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysqld.err
basedir = /usr
datadir = /var/lib/mysql
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
language = /usr/share/mysql/english

# security:
# using "localhost" in connects uses sockets by default
skip-networking
bind-address = 127.0.0.1

log-bin
server-id = 1

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

# you need the debug USE flag enabled to use the following directives,
# if needed, uncomment them, start the server and issue
# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
# this will show you *exactly* what's happening in your server ;)

#log = /tmp/mysqld.sql
#gdb
#debug = d:t:i:eek:,/tmp/mysqld.trace
#one-thread

# uncomment the following directives if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# the following is the InnoDB configuration
# if you wish to disable innodb instead
# uncomment just the next line
skip-innodb
#
# the rest of the innodb config follows:
# don't eat too much memory, we're trying to be safe on 64Mb boxes
# you might want to bump this up a bit on boxes with more RAM
innodb_buffer_pool_size = 16M
# this is the default, increase it if you have lots of tables
innodb_additional_mem_pool_size = 2M
#
# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
# and upstream wants things to be under /var/lib/mysql/, so that's the route
# we have to take for the moment
#innodb_data_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
#innodb_log_group_home_dir = /var/lib/mysql/
# you may wish to change this size to be more suitable for your system
# the max is there to avoid run-away growth on your machine
innodb_data_file_path = ibdata1:10M:autoextend:max:128M
# we keep this at around 25% of of innodb_buffer_pool_size
# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
innodb_log_file_size = 5M
# this is the default, increase it if you have very large transactions going on
innodb_log_buffer_size = 8M
# this is the default and won't hurt you
# you shouldn't need to tweak it
set-variable = innodb_log_files_in_group=2
# see the innodb config docs, the other options are not always safe
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
# uncomment the next directive if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 40M
sort_buffer_size = 40M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 40M
sort_buffer_size = 40M
read_buffer = 2M
write_buffer = 2M
set-variable=max_connections = 500
[mysqlhotcopy]
interactive-timeout
 
WRInaute accro
Et si tu fais ça après chaque connexion sql et avant chaque requête, ça donne quoi ??

Code:
mysql_query("SET NAMES utf8");
 
Nouveau WRInaute
rien n est changé

Je crois que c'est apache qu il faut modifier

les directives AddCharset ????

il me dis cela :
~#cat /httpd.conf | grep Charset
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
 
WRInaute accro
Bah j'avais aussi ton souci sur dédié, ce que j'ai fait, j'ai tout passé en utf8. Donc les charsets tu laisses, car c'est juste ceux que tu peux utiliser, par contre dans le fichier de configuration mysql my.cnf, j'ai remplacé partout ou je voyais latin1 en utf8 ;)

Toutes mes tables de toutes les bdd sont en utf8

Toutes mes pages sont en format utf8

Et plus aucun souci :p
 
Nouveau WRInaute
b1 j ai tout passè en UTF-8

Et ensuite j'ai modifié le code de ma page
j ai enlevè "<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">";

les données PHP(include echo ) reste toujour en charabia
j ai ajouté au fichier php.ini
default_charset = "utf8"

et ce qui concerne les données static de ma page
Je ne comprends pas pourquoi il ya une différence entre IE et firefox
 
WRInaute accro
t'as vidé le cache des deux ?

Sinon faut pas l'enlever, faut modifier en <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Sinon t'as bien tout tout passé en utf8 dans ton my.cnf ?
Je vois encore des latin1 dans ce que tu nous a montré:

Code:
socket = /var/run/mysqld/mysqld.sock
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[php-cgi]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysql]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1

[mysqldump]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=latin1 

etc...
 
Discussions similaires
Haut