Avatar billede hoejgaard Juniormester
21. januar 2014 - 19:52 Der er 23 kommentarer

øæå i database ser forkert ud

hej,
Når jeg via en form sætter æ ø og å ind i en database så bliver disse bogstaver til nogle underlige tegn...

Ved ikke lige hvad jeg skal gøre her ??
Avatar billede hoejgaard Juniormester
21. januar 2014 - 20:54 #1
Jeg har dette på den side hvor data tastes i formen:

session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                                     
<html lang="da">
<head>

  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
 
  <? include("title.html"); ?>
  <link rel="stylesheet" type="text/css"  href="stylesheet_index1.css" />

 
 
</head>

og hvad skal jeg så gøre i databasen ?

kæft jeg er træt af det med tegnsæt...
Avatar billede repox Seniormester
22. januar 2014 - 08:10 #2
Hvilket tegnsæt er din database i?
Avatar billede hoejgaard Juniormester
25. januar 2014 - 15:38 #3
repox:

I generelle indstillinger, i phpMyAdmin, står der:
Servers forbindelsestegnsæt : utf_general_ci

og

I tabel i databasen står der under tegnsæt(sortering) utf8_danish_ci

Er det helt forkert ?
Avatar billede repox Seniormester
25. januar 2014 - 17:00 #4
Ikke umiddelbart. Har du kontrolleret hvilket tegnsæt din webserver siger dine sider er i?
Avatar billede erikjacobsen Ekspert
25. januar 2014 - 17:13 #5
Hvilket tegnsæt har de data, der er puttet i databasen?
Avatar billede hoejgaard Juniormester
25. januar 2014 - 18:27 #6
repox, Hvor ser jeg det henne ?

erikjacobsen, det checker jeg lige når jeg er hjemme om et par timer :-)
Avatar billede erikjacobsen Ekspert
25. januar 2014 - 18:37 #7
Fint nok. Du vil muligvis opdage, at de data du putter i databasen er iso8859-1, og det vil de blive ved med at være, selv om tabellen og databasen er "sat til" utf-8. Der sker ingen konvertering - du skal sørge for konvertering før de bliver sat ind (eller når de bliver taget ud)

Og endelig en mulighed, som jeg plejer at få tæsk for, når jeg foreslår den: kør det hele i iso8859-1.
Avatar billede hoejgaard Juniormester
26. januar 2014 - 07:11 #8
Godmorgen,
Var desværre for træt da jeg kom hjem fra job igår aftes, så checker det iaften når jeg kommer hjem :-)
Jeg mener dog at jeg har gemt filen som en UTF uden bom...ved ikke om det er helt hen i skoven ? :-9
Avatar billede erikjacobsen Ekspert
26. januar 2014 - 11:36 #9
Det lyder rigtigt. Men et eller andet sted er der jo gået noget galt.
Avatar billede kjeldsted Novice
26. januar 2014 - 11:45 #10
Erik, nu vil jeg ikke tæske dig. Men egentlig bare gerne have svar på hvorfor du foreslår at køre med ISO-8859-1, frem for UTF-8?
Avatar billede erikjacobsen Ekspert
26. januar 2014 - 11:55 #11
Tak for det ;)

1) iso8859-1 forsvinder ikke. Ligeså lidt som de gamle codepages fra DOS
2) Et tegn fylder een byte. Sådan.
3) Ingen problemer med BOM
4) Vi har nok ikke brug for tegn udenfor iso8859-1
5) Det kan være meget rart, at brugere ikke kan bruge tegn udenfor iso8859-1 - tænk på en russer fra &#1052;&#1086;&#1089;&#1082;&#1074;&#1072;, der indtaster brugernavn osv med kyrilliske bogstaver, og vi så skal finde dem på vores tastaturer når han ringer ind med et problem.

(Ja, jeg ved godt det lyder som Dansk Folkeparti, beklager)
Avatar billede kjeldsted Novice
26. januar 2014 - 13:12 #12
Og tak for dit svar. Det var jo i bund og grund også det jeg havde regnet med at du ville give af argumenter.

Dog er det jo meget rart, når man har programmeret en Web-applikation, at man kan benytte denne i forskellige lande, unden at skulle omkonvertere tegnsættet til en anden ISO standard hver gang :)

Nå, men det skal ikke ende i (endnu) en diskussion om ISO vs UTF.
Og undskyld til hoejgaard for spam.
Avatar billede erikjacobsen Ekspert
26. januar 2014 - 14:23 #13
Jo da - jeg gav jo heller ingen argumenter for at bruge UTF-8, og dem er der også mange af ;)
Avatar billede hoejgaard Juniormester
03. februar 2014 - 09:49 #14
Beklager at jeg ikke har haft tid til at undersøge tingene, men skulle gerne blive bedre i denne uge :-)
Jeg har vidst brug for en opskrift fra ende til anden på hvad der skal skrives i filen, databasen, tabellen for at undgå disse fejl. Nogen der kan give en opskrift på det ? :-)

Er for såvidt ligegyldigt hvilket tegnsæt der benyttes, bare det virker :-)
Avatar billede erikjacobsen Ekspert
03. februar 2014 - 13:09 #15
Du kan begynde ved #5  ... :)
Avatar billede hoejgaard Juniormester
03. februar 2014 - 13:19 #16
Hvor præcis ser jeg det Erik ? :-)
skal have det skåret ud i pap :-)
Avatar billede erikjacobsen Ekspert
03. februar 2014 - 13:29 #17
Det kommer an på ... men åben dine datafiler med en fornuftig editor, så vil den typisk, i en eller anden menu, kunne fortælle dig hvad tegnsæt den mener det er
Avatar billede hoejgaard Juniormester
09. februar 2014 - 17:05 #18
Endelig fik jeg tid til at kigge nærmere på det.
Håber i har hængt ved og stadig har lyst til at hjælpe :-)

Når jeg kommer ind i Php MYadmin står der:
Servers tegnsæt:  UTF-8 Unicode (utf8)
Servers forbindelsestegnsæt: utf8_general_ci

I selve tabellen har jeg:
Tegnsæt (sortering): utf8_danish_ci

I PHP filen som gemmes med format, Indkod i UTF8 uden bom, hvor der indtaste de data der skal uploades til tabellen har jeg:

<?
ob_start();
session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                                     
<html lang="da">
<head>

  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
 
  <? include("title.html"); ?>
  <link rel="stylesheet" type="text/css"  href="stylesheet_index1.css" />

 
 
</head>



Og i den PHP fil hvor data uploades til tabellen har jeg følgende
(også her er der under format valgt Indkod i UTF8 uden BOM):

<? ob_start();
session_start();
?>

<?
include("db_kald_aaben.php");

$brugernavnopt=='';    ?>   


                                     
<html lang="da">
<head>

  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>     
</head>
Avatar billede erikjacobsen Ekspert
09. februar 2014 - 17:15 #19
"...hvor data uploades ..."  Indtastes på siden, eller uploades fra en fil af en slags?
Avatar billede hoejgaard Juniormester
10. februar 2014 - 03:45 #20
Der hvor data uploades er den fil hvor jeg har feks:
INSERT INTO  kunder (`navn`,`vej`,`nr`,`type`)
VALUES ( 'Hans',  'Åvej',  '10',  'Ø' );
Avatar billede hoejgaard Juniormester
10. februar 2014 - 21:17 #21
Ingen der kan hjælpe ? :-)
Avatar billede erikjacobsen Ekspert
10. februar 2014 - 21:27 #22
Og hvilket tegnsæt er anvendt for filen i #20 ?
Avatar billede hoejgaard Juniormester
08. januar 2015 - 23:32 #23
Kigger på det igen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester