PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql UTF-8



shb
25-02-2010, 11:54
hi,
ich komme schon wieder mal nicht weiter, das ganze dreht sich jetzt um die zeichen

ich habe eine älter db in mysql die eine charset von latin1 hat, darin kann ich in der konsole und mit mysqldump alle umlaute sehen, im xml file bekomme ich einen fehler nicht wohl geformt. dann habe ich testweise eine neue db mit utf8 erstellt dort erhalte ich in der ausgabe die gewünschten umlaute, wenn ich aber einen mysqldump mache erhalte ich solche zeichen

Ötzi
die verschieden xml dateien hab ich als txt angehangen
ach und diff sagt sowas

shb@x40:~/Desktop/problem$ diff kal*txt
1c1
< <?xml version="1.0" encoding="UTF-8"?>
---
> <?xml version="1.0" encoding="UTF-8"?>
5c5
< <vorname>�tzi</vorname>
---
> <vorname>ötzi</vorname>

wie kann ich das umstellen, das im mysqldump auch die umlaute stehen?

danke cu SHB

shb
25-02-2010, 17:40
ich hab hier mal noch ein paar ausgaben aus mysql, vielleicht kann mir jemand damit weiter helfen.


mysql> use fmzg
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0,00 sec)

mysql> select * from personal;
+----+-------+---------+
| id | name | vorname |
+----+-------+---------+
| 1 | ääs | asä |
| 2 | Ötzi | dds |
+----+-------+---------+
2 rows in set (0,00 sec)

mysql> insert into personal (name,vorname) values ("��","��");
Query OK, 1 row affected (0,00 sec)

mysql> select * from personal;
+----+-------+---------+
| id | name | vorname |
+----+-------+---------+
| 1 | ääs | asä |
| 2 | Ötzi | dds |
| 3 | ö | ä |
+----+-------+---------+
3 rows in set (0,00 sec)

mysql> set NAMES utf8;
Query OK, 0 rows affected (0,00 sec)

mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+----------------------------+
| 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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0,00 sec)

mysql> select * from personal;
+----+-----------+---------+
| id | name | vorname |
+----+-----------+---------+
| 1 | ääs | asä |
| 2 | Ötzi | dds |
| 3 | ö | ä |
+----+-----------+---------+
3 rows in set (0,00 sec)


bei der zeile hab ich manchmal die zeichen und manchmal auch das was ich schreibe es ist sollte so aussehen "ö","ä"

insert into personal (name,vorname) values ("��","��");

vielleicht hat ja jemand eine tipp

thx cu SHB