Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konfiguracja serwera MySQL - kodowanie UTF8
Forum PHP.pl > Forum > Bazy danych > MySQL
WojtasSP320
Witam!

Męczę się już z tym drugi dzień i powoli ręce mi opadają...

Wywaliłem krasnala (ze względu na stare PHP, MySQL i Apache) i postawiłem sobie WAMP Server 2.0h
Wszystko pięknie ładnie, tylko jedna mała drobnostka z MySQL.

Gdy łączę się z bazą przez mysql_connect(xx,xx,xx);
to zawsze łączy się w 'latin1'. Oczywiście mogę zmienić kodowanie np mysql_set_charset('UTF8',$con);
i to działa, ale mnie interesuje zmiana tego W KONFIGU serwera (a wszelkie rady ustawiania tego na stronie traktuję jako niemoc w rozwiązaniu problemu, uciekanie od niego i dywersję)

Tak wygląda mój config my.ini
Cytat
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[wampmysqld]
port = 3306
socket = /tmp/mysql.sock
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
basedir=c:/wamp/bin/mysql/mysql5.1.33
log-error=c:/wamp/logs/mysql.log
datadir=c:/wamp/bin/mysql/mysql5.1.33/data

# 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

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
default-character-set=utf8
# Remove the next comment character if you are not familiar with SQL
#safe-updates

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

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

[mysqld]
port=3306

character_set_client=utf8
#character_set_connection=utf8
#character_set_results=utf8
#character_set_system=utf8

default-character-set=utf8
default-collation=utf8_polish_ci
character-set-server=utf8
init-connect='SET NAMES utf8'


Próbowałem już wszystkiego, przekopałem ok 50 stron i for na ten tema ale dalej nic. To jest mój ostatni desperacki krok.

Ustawiałem wszystkie możliwe zmienne w każdy możliwy sposób.
Oto co pokazuje SHOW VARIABLES LIKE '%char%':

Cytat
mysql> SHOW VARIABLES LIKE '%char%';
+--------------------------+-----------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | c:\wamp\bin\mysql\mysql5.1.33\share\charsets\ |
+--------------------------+-----------------------------------------------+
8 rows in set (0.00 sec)


A i tak łączy się przez 'latin1'.

Gdzie robię błąd? BŁAGAM POMOCY (krzyk rozpaczy)exclamation.gif!
Zosiek
1. Polecam VertrigoServ albo postawienie Apache, PHP, MYSQL, SMTP, PHP, PHPMYADMIN na swoim kompie z binarek (jak chcesz to ci powiem jak i co)
2. Spróbuj przez phpmyadmin sprawdzić kodowanie w bazie.
3. Ja mam postawiony osobno Apache MySql, PHP, PHPMyAdmin, SMTP, FTP itd. I to jest lepsze niż wszystkie paczki serwerów (Krasnal, VertrigoServ itp.)
4. Lub rób tak
  1. $lacz = mysql_connect('host', 'login', 'hasło') or die('Błąd!');
  2. mysql_query("SET NAMES 'utf8'");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.