Indsættelse i DB

Tags:    phpmyadmin php

hey

jeg er ved og lave en opret, men med adresse driller det mig med æøå.

Se linket

Tegnesæt i index.php (<head> <meta charset="UTF-8"> </head> )

men i db, indsætter den ikke med æøå.

$string = preg_match("/^[a-zæøåÆØÅ_\-]+$/i", $gadenavn);

nogen idder til hvad der kan være galt ??



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
er dine tabeller sat som UTF8-danish ??
har du prøvet at sætte tegnsæt på din connection (hjælper ofte) ?? http://php.net/manual/en/mysqli.set-charset.php

Fold kodeboks ind/udKode 

mysqli_set_charset burde ikke være nødvendigt hvis alt på webserveren og db er utf8, men det skader ikke




Sørg for at køre med samme charset overalt i din applikation - meta er ikke nok, det gælder også at filen er gemt som UTF-8, databasen er sat korrekt op osv.



Filen kører med meta via index.php, hvor andre sider kører under index.php

db er sat op som den nu plejer, derfor jeg syns det er mærkeligt. forstår ikke den ikke vil smide æøå ind.

filen er gemt i format:: konvertere til UFT-8



Hvordan vil du lave det i almindelig mySQL ?.

<?php
$connect = mysql_connect("", "", "");
mysql_select_db("",$connect);
?>

For nu er der testet på en anden privat server, og der fremgår samme fejl.
og det forstår jeg ikke... jeg har aldrig oplevet den fejl før i INSERT INTO.


Servers forbindelsestegnsæt: latin1_swedish_ci
Kolonne i tabel er sat til: latin1_swedish_ci

index.php og filen hvor jeg indsætter fra, er gemt i format med notepad++: UTF-8

Så jeg fatter hat :((

----------------
Googlede lige lidt.

$link1 = mysql_connect('localhost','user','password',TRUE);
$link2 = mysql_connect('localhost','user','password',TRUE);

mysql_selectdb('user',$link1);
mysql_selectdb('user',$link2);

mysql_set_charset('latin1',$link1);
mysql_set_charset('utf8',$link2);

Der viser den ÆØÅ i db.

Den er benyttet i config.php

Er det er udmærket valg eller?

http://dk.php.net/manual/en/function.mysql-set-charset.php
I bunden.



Indlæg senest redigeret d. 23.12.2012 23:10 af Bruger #17475

Hvordan vil du lave det i almindelig mySQL ?.


Fold kodeboks ind/udKode 


nb vær opmærksom på at i næster vertion af PHP er understøttelse af den gamle API (mysql_) ikke understøttet, og så vil coden ikke virke, så i skal anvende et andet API, feks mysqli eller PDO
http://dk.php.net/manual/en/mysqlinfo.api.choosing.php
hvis du slår en tilfældig mysql function op vil du få en link til tilsvarende mysqli og pdo

i mysqli kan du anvende 2 skrive måder ProceduralStyle som du kender fra det gamle API og OOP style, eller evt blande de 2
ovenstående code som mysqli i ProceduralStyle
Fold kodeboks ind/udKode 


ovenstående code som mysqli i OOP
Fold kodeboks ind/udKode 


ovenstående code som PDO
Fold kodeboks ind/udKode 


Servers forbindelsestegnsæt: latin1_swedish_ci
Kolonne i tabel er sat til: latin1_swedish_ci

de skal rettest til utf8_danish_ci


Den er benyttet i config.php
Er det er udmærket valg eller?

ja: database host, brugernavn, password, navn, har jeg altid stående i min config.php og ikke direkte connection



t