# [CONF] [RISOLTO] MySQL e lettere accentate...

## BaNdit400

Ho eseguito l'aggiornamento da MySQL 4.0.25-r2 a MySQL 4.1.20 seguendo il documento http://www.gentoo.org/doc/it/mysql-upgrading.xml alla lettera. Il risultato è che adesso il testo che seleziono in query viene troncato alla prima lettera accentata persente.

Ad esempio...

```
mysql> select message from tblblog where id=511;

+----------+

 message                                                                                                                                                                                                                                                                            

+----------+

Domani devo discutere la tesi e sto in uno stato di agitazione incredibile!! Oggi pomeriggio alle 18:30 circa mi viene detto che devo letteralmente ''stravolgere'' la presentazione per l'ennesima volta. Ad un mio secco rifiuto il professore ha intuito che, oramai, non era pi

+----------+

1 row in set (0.00 sec)
```

...e questo comportamento si ripete tramite le applicazioni php...

http://gtrentadue.dyndns.org/blog/viewlink.php?msgnum=511

In verità ho cercato, ma in tutta onestà non ho trovato molto e ciò mi fa sospettare che sia un problema tutto sommato raro. Mi potreste dare qualche indicazione su come risolvere il problema?

Allego qualche informazione circa l'attuale configurazione:

/etc/mysql/my.cnf

```
[client]

password                                        = <rimossa>

port                                            = 3306

socket                                          = /var/run/mysqld/mysqld.sock

[mysql]

character-sets-dir=/usr/share/mysql/charsets

default-character-set=utf8

[mysqladmin]

character-sets-dir=/usr/share/mysql/charsets

default-character-set=utf8

[mysqlcheck]

character-sets-dir=/usr/share/mysql/charsets

default-character-set=utf8

[mysqldump]

character-sets-dir=/usr/share/mysql/charsets

default-character-set=utf8

[mysqlimport]

character-sets-dir=/usr/share/mysql/charsets

default-character-set=utf8

[mysqlshow]

character-sets-dir=/usr/share/mysql/charsets

default-character-set=utf8

[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

[mysqld]

character-set-server            = utf8

default-character-set           = utf8

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

bind-address                            = 127.0.0.1

log-bin

server-id                                       = 1

tmpdir                                          = /tmp/

skip-innodb

innodb_buffer_pool_size = 16M

innodb_additional_mem_pool_size = 2M

innodb_data_file_path = ibdata1:10M:autoextend:max:128M

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

set-variable = innodb_log_files_in_group=2

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

[mysqldump]

quick

max_allowed_packet                      = 16M

[mysql]

[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

```

Tabella relativa agli esempi sopra riportati

```
mysql> describe tblblog;

+-----------+-------------+------+-----+------------------+----------------+

| Field     | Type        | Null | Key | Default          | Extra          |

+-----------+-------------+------+-----+------------------+----------------+

| id        | int(11)     |      | PRI | NULL             | auto_increment |

| date      | varchar(16) |      |     | 00-00-0000 00:00 |                |

| timestamp | bigint(20)  |      |     | 0                |                |

| type      | text        |      |     |                  |                |

| message   | text        |      |     |                  |                |

+-----------+-------------+------+-----+------------------+----------------+
```

Use utilizzate per mysql 4.1.20

```
[ebuild   R   ] dev-db/mysql-4.1.20  USE="berkdb perl ssl -big-tables -cluster -debug -embedded -extraengine -latin1 -minimal -raid -srvdir -static"
```

Wide Open

Gianluca ''BaNdit400''Last edited by BaNdit400 on Fri Jun 23, 2006 12:08 pm; edited 1 time in total

----------

## drakkan

prova a ricompilare mysql con la use latin1 attiva

----------

## BaNdit400

Perfetto, ho aggiunto la use ''latin1'' ed alla query attraverso il client mysql risponde correttamente!!

```
mysql> select message from tblblog where id=511;

+----------+

message

+----------+

Domani devo discutere la tesi e sto in uno stato di agitazione incredibile!! Oggi pomeriggio alle 18:30 circa mi viene detto che devo letteralmente ''stravolgere'' la presentazione per l'ennesima volta. Ad un mio secco rifiuto il professore ha intuito che, oramai, non era più il caso di insistere. Speriamo vada tutto per il meglio...

+----------+

1 row in set (0.00 sec)
```

Purtroppo lo stesso non posso dire per il mod_php che continua a non funzionare a dovere, ma per questo apro un altro post.

Grazie, quindi, per la soluzione: si potrebbe sapere quale è l'origine del problema?

Wide Open

Gianluca ''BaNdit400''

----------

## drakkan

 *BaNdit400 wrote:*   

> 
> 
> Grazie, quindi, per la soluzione: si potrebbe sapere quale è l'origine del problema?
> 
> 

 

da mysql-4.1.14-r1 il set di caratteri di default è passato da iso-8859-1 a utf-8 .... no comment ...

----------

## BaNdit400

Sic et simpliciter...grazie!!   :Wink: 

Wide Open

Gianluca ''BaNdit400''

----------

