Ik heb in MSAccess een veld gedefinieerd als Valuta -> Euro
dat schrijf ik weg als een .csv-bestand en vervolgens importeer ik het met MySQL-Front in de mysql-db.

Alleen de saldi zijn nu allemaal weergegeven als 0.0000
(zie http://www.johndeboer.info/GPT/verdiensten.php)
Wie weet hoe ik het beste de kolom saldo in mysql kan definieren? ik heb nu
`saldo` decimal(8,4) default NULL

EDIT:
Ik krijg in het .csv-bestand bijv.:

€ 2,32

als saldo...
Ik heb even snel een test.mdb gemaakt.

Een valuta-veld met als notatie "Euro" en dan exporteren als CSV geeft bij mij een output als deze:

1;€ 12,90
2;€ 123,45

Het lijkt er op dat er bij jou een conversie naar htmlentities gedaan is.
of je noemt het euroteken "832euro9302"

en gooit er bij het showen de string replace erover...
Ik denk dat je een heel eind komt met [php]html_entity_decode[/php]
Kijk maar eens naar de output van dit scriptje:
<?php
$file = 'http://www.johndeboer.info/GPT/MijnGPT-verdiensten.csv';;
$array = file ($file);
foreach ($array as $value) {
$value = html_entity_decode ($value);
echo '<p>' . $value . '</p>';
}
?>
@Arjan
Het gaat al fout bij het importeren van het .csv-bestand in de mysql-db

@Jan
Hoe heb je de database ge-exporteerd naar een .csv-bestand?
Heb je misschien een andere codetabel gebruikt dan West-europees (Windows)?
Sla de valuta op in een aparte kolom 'valuta' en gebruik dan de ISO-code. In dit geval is dat EUR.

Mocht je dan in de toekomst nog andere valuta's in deze tabel krijgen, dan kun je eenvoudig het onderscheid maken en berekeningen uitvoeren.

Dat jij een nette € of $ op het scherm wilt hebben, heeft niets te maken met de data die jij opslaat. Opslag en presentatie zijn 2 totaal verschillende zaken die niets met elkaar hebben te maken.

Bij de import van jouw .csv-bestand zul jij er voor moeten zorgen dat een euro-teken wordt omgezet naar de ISO-code EUR.

Reageren