HKRoed Skrevet 19. april 2017 Del Skrevet 19. april 2017 Hei!Jeg bruker denne koden for å importere en fil fra Google Sheets til MySQL <?php //set the connection variables $hostname = ""; $username = ""; $password = ""; $database = ""; $filename = "min-csv-fil"; //connect to mysql database $connection = mysqli_connect($hostname, $username, $password, $database) or die("Error " . mysqli_error($connection)); mysqli_query($connection, "TRUNCATE TABLE `min-tabell`"); // open the csv file $fp = fopen($filename,"r"); //parse the csv file row by row while(($row = fgetcsv($fp,"500",",")) != FALSE) { //insert csv data into mysql table $sql = "INSERT INTO Pristabell (Produkt, Pris, Rabattkr, Rabattprosent, Lagerstatus, Butikk, TAGS) VALUES('" . implode("','",$row) . "')"; if(!mysqli_query($connection, $sql)) { die('Error : ' . mysqli_error($connection)); } } fclose($fp); //close the db connection mysqli_close($connection); ?> Problemet er at tegnsettingen blir veil når dataene vises. Alle æ,ø og å blir noen rare tegn. Tabellen er satt til UTF8_general_ci Kan noen hjelpe meg? :-) Lenke til kommentar
quantum Skrevet 19. april 2017 Del Skrevet 19. april 2017 Kan noen hjelpe meg? :-) Jeg tror det hjelper hvis du forklarer hva du mener med "når dataene vises" også ... mener du i mysql-admin, i en webside/php eller noe annet? Lenke til kommentar
HKRoed Skrevet 19. april 2017 Forfatter Del Skrevet 19. april 2017 Kan noen hjelpe meg? :-) Jeg tror det hjelper hvis du forklarer hva du mener med "når dataene vises" også ... mener du i mysql-admin, i en webside/php eller noe annet? Aah, sorry. Prøver igjen :-) Hvis jeg importerer CSV-filen manuelt via PHPMyAdmin, så er tegnsettingen riktig, både i PHPMyAdmin og på nettsiden. Altså vises æ,ø og å riktig Importerer jeg CSV-filen via scriptet over så vises æ,ø og å feil, både i PHPMyAdmin og på nettsiden. Lenke til kommentar
NoBo Skrevet 19. april 2017 Del Skrevet 19. april 2017 Antar det har noe med tegnsettet på filen vs. hva importen forventer. Hva slags format kan du lagre Gdocs i? Fant denne; https://makandracards.com/makandra/595-dumping-and-importing-from-to-mysql-in-an-utf-8-safe-way "Do not do this, since it might screw up encoding: mysql -u username -p database < dump_file # this is bad Better do: mysql -uroot -p --default-character-set=utf8 database mysql> SET names 'utf8' mysql> SOURCE utf8.dump" Lenke til kommentar
HKRoed Skrevet 19. april 2017 Forfatter Del Skrevet 19. april 2017 Det scriptet henter selve CSV-filen, så det er ikke en fil jeg lagrer selv. Google dokumentet er en fil som oppdateres 2 ganger i timen, og inneholder priser fra div nettbutikker. Poenget er at det scriptet skal hente de prisene automatisk inn i databasen. Lenke til kommentar
NoBo Skrevet 19. april 2017 Del Skrevet 19. april 2017 Greit nok men du må prøve å matche formatet på filen som skal importeres til det som mysql importrutinen forventer. Så enten må du endre formatet (ANSI, UTF-8 etc.) som Gdocs lagrer i eller så må du angi formatet på importfilen fra Gdocs for mysql importrutinen. Det var det jeg prøvde å indikere med det jeg skrev. Selvfølgelig forutsatt at det er der problemet ligger, noe jeg antar ut fra egen erfaring med tilsvarende problemstilling i andre sammenhenger. Lenke til kommentar
Crowly Skrevet 20. april 2017 Del Skrevet 20. april 2017 Tilkoblingen til databasen må også være utf8, prøv med $connection = .... mysqli_set_charset($connection, "utf8"); Lenke til kommentar
HKRoed Skrevet 20. april 2017 Forfatter Del Skrevet 20. april 2017 Tilkoblingen til databasen må også være utf8, prøv med $connection = .... mysqli_set_charset($connection, "utf8"); Se der ja. Så enkelt for de som kan det :-D Tusen tusen takk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå