Avatar billede ej147 Nybegynder
29. marts 2015 - 19:23 Der er 7 kommentarer og
1 løsning

Hvad er det her for en filtype???

Jeg har nedenstående kode i en fil, der volder problemer, håber derfor en af jer kan hjælpe med dette.
Filen bruges til at vise et stamtræ i browseren, men da den er sat til chartset windows-1252, viser den ikke æøå. Dette vil jeg jo godt have rettet til f.eks utf8_general_ci, så jeg kan få danske karakterer på skærmen.
Men lige så snart jeg rettet i filen får jeg godt nok de ønske karakterer men også en fejlkode andetsted, hvilket undrer.
Hvordan kan jeg rette i en sådan fil uden at få fejl?


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
# Links
home=STARTSEITE
general=ALLGEMEINES
onlinetree=ONLINE-TREE (&amp;uuml;ber 6500 Personen)
pictures=AHNENFOTOS
allinone=ALL-IN-ONE-TREE
gedcom=GEDCOM-DATEI
lexicon=LEXIKON
other=ANDERES
toplist=TOPLISTE
guestbook=G&amp;Auml;STEBUCH
links=LINKS
otherlinks=WEITERE LINKS
contact=KONTAKT
imprint=IMPRESSUM
familytree=STAMMBAUM
persons=PERSONEN
familynames=FAMILIENNAMEN
places=ORTE

#headlines
homeheadline=HOME
genealogyheadline=GENEALOGIE
placeslist=Liste der Orte
familynameslist=Liste der Familiennamen
personlist=Liste aller Personen
personlistpart=Personen zu ausgew&amp;auml;hltem Namen
onlinetreeHeadline=Online-Stammbaum

# Texts
counter=Besucherz&amp;auml;hler
countervisitors=Besucher
counteronline=online

#page titles
hometitle=Ahnenforschung von Fr&amp;ouml;hlich, Luther, Zinkernagel, Briesen, Delden...
treetitle=Ahnenforschung - Ahnen von

#messages
livingMessage=&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lebende Person!!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;F&amp;uuml;r mehr Informationen bitte per Email an mich wenden.&lt;br /&gt;

#Tree-details
spouse=Alle (Ehe)partner
partners=Partner
marriage=Hochzeit
allchilds=Alle Kinder
childs=Kinder
birth=Geburt am
christening=Taufe am
death=Gestorbem am
burial=Beerdigung am
occupation=Beruf
note=Notiz
Avatar billede Slater Ekspert
29. marts 2015 - 22:46 #1
Det er ikke noget filformat som sådan, det er bare et simpelt key-value format à la ini eller Bash script. Det må blive læst af noget andet kode.

Det er umuligt at sige mere uden at vide mere. Hvordan udfører du det? Hvilken kode bliver det læst af?

Rent bortset fra det kan Codepage/Windows-1252 sagtens indeholde danske vokaler, så længe du naturligvis gemmer filen i CP1252 også.
Og så er utf8_general_ci ikke et charset, det er en collation type, der ikke giver mening uden for databaser. UTF-8 vil være det relevante her.
Avatar billede ej147 Nybegynder
29. marts 2015 - 22:57 #2
Tak for dit svar - smider du et svar?
Avatar billede Slater Ekspert
30. marts 2015 - 08:14 #3
Vil du ikke have mere hjælp? Hvis du fortæller lidt om hvordan det bliver læst eller udført, kan vi sikkert sige meget mere.
Avatar billede ej147 Nybegynder
30. marts 2015 - 13:45 #4
Jo tak, tænkte bare at der sikkert ville være nogen, der "forbandede mig langt væk" med mine amatørspørgsmål så jeg hellere måtte stoppe, mens legen var god :-)
Men jeg har jo de her script, jeg har fået fra Tyskland, der skal lave mit stamtræ og det er dem, jeg skal have til at virke med danske karakterer.

Jeg starter med at kalde en fil, der hedder personen.php og som indeholder dette:

<?php include('header.php'); ?>
<?php include('stammbaum/getdata.php'); ?>
<?php include('stammbaum/personenview.php'); ?>
<?php include('footer.php'); ?>

Den kalder jo 4 filer - f.eks indeholder header.php det her:

<?php
  include('global/global.php');
  readLanguageFile($language);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta charset="utf-8">
  <title>Your family tree</title>
  <link type="text/css" href="stammbaum/stylesheet/stammbaum.css" rel="stylesheet" />
  <script type="text/javascript" src="stammbaum/javascript/functions.js"></script>
  </head>
  <body>

Footer har kun dette:
</body>
</html>

Og personenview.php her:
<h1 class="h1main"><?php echo $_SESSION['personlist']; ?></h1>
            <?php include('treeMenu.php'); ?>
            <a href="http://www.luventas-webdesign.de/" target="_blank" class="namelistlink">created by Luventas Web Design</a><br /><br />
<table border="0" cellpadding="0" cellspacing="0">
  <?php echo getPersonList($language); ?>
</table>

Endelig er der den sidste fil, der hedder getdata.php og den er alenlang så den udelader jeg her. Der er ikke noget karaktersæt, der bliver kaldt i den, så vidt jeg kan se.

Hvis jeg ændrer i den sprogfil fra mit første indlæg siger den:
Notice: Undefined offset: 1 in C:\xampp\htdocs\website-1\tree\global\global.php on line 87

Og global.php som bruger sprogfilerne er her:
<?php

  include('dbConnect.php');

  $startid = "";
 
  if(!isset($_GET['id'])) {
    $startid = "I1";
  } else {
    $startid = $_GET['id'];
  }

  $url = $_SERVER['REQUEST_URI'];
  $parts = explode("/", $url);
  $urlParts = explode("?", $parts[(sizeof($parts) - 1)]);
 
  $page = 'index.php';
 
  switch ($urlParts[0]) {
    case '':
      $page =  'index.php';
      break;
    default:
      $page = $urlParts[0];
      break;
  }
 
  $language = 'DE';
  if(isset($_GET['lang'])) {
    switch($_GET['lang']) {
      case 'DE':
        $language = 'DE';
        break;
      case 'EN':
        $language = 'EN';
        break;
      default:
        $language = 'DE';
        break;
    }
  }
 
  function getTreeTitle(&$startId) {
    $title = $_SESSION['treetitle'].' ';
    $query = "SELECT * from person_st WHERE persID = '".$startId."';";
    $result = mysql_query($query)or die ("SQL-Fehler getTreeTitle ".mysql_error());
    while($line = mysql_fetch_array($result)) {
      $byear = intval(substr($line['birt_date'], strlen($line['birt_date'])-4, 4));
      if($byear > 1890 && $line['deat_date'] == "") {
        $title .= "living living (*living)";
      } else {
        $birthDate = $line['birt_date'];
        if($birthDate == '') { $birthDate = '?'; }
        $title .= $line['vorname'].' '.$line['name'].' (*'.$birthDate.')';
      }
    }
   
    return $title;
  }
 
  function getPageTitle(&$page, &$startid) {
    $title = '';
    switch($page) {
      case 'stammbaum.php':
        $title = getTreeTitle($startid);
        break;
      default:
        $title = $_SESSION['hometitle'];
        break;
    }
   
    return $title;
  }
 
 
  function getSnippet($page, &$language) {
    $path = './language_texts/'.$language.'/'.$page.'.php';
    return $path;
  }
 
  function readLanguageFile(&$language) {
    $file = "./global/language_".$language.".properties";
    $lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    for($i = 0; $i < count($lines); $i++) {
      if(substr($lines[$i], 0, 1) != '#') {
        $splitted = explode("=", $lines[$i]);
        $_SESSION[$splitted[0]] = $splitted[1];
      }
    }
  }
?>


Jeg håber ikke, det virker for rodet, vil afgjort værdsætte hjælp.
Venlig hilsen
Erik
Avatar billede sonalias Seniormester
30. marts 2015 - 15:32 #5
*Til info er det jo netop sjovt at svare på dine "amatør" spørgsmål, så det er skam en forkert opfattelse du har fået af Eksperten Erik :)!

Og et hurtigt kig i koden (ikke testet) fortæller på linje 28 at der er "support" for DE og EN (tysk og engelsk). Så derfor skal der nok oprettes en dansk fil nede i /language_texts/ eller tilrettes i de nuværende (nok gemmes i et format der understøtter 'æøå') Håber ikke det er for langhåret :)
Avatar billede ej147 Nybegynder
30. marts 2015 - 17:57 #6
sonalis:
Glæder mig at høre - selvom jeg er lidt forsigtig med at spørge :-)

Jeg har netop rettet i den support fil, der hedder DE og lige så snart jeg gemmer den igen og derefter starter op, så får jeg fejl.
Og lige meget hvad jeg gør, så ser det ikke ud til at programmet bruger den anden supportfil, den der hedder EN, men kun den tyske.
Lidt underligt for bare det at åbne DE filen uden at rette i den, for derefter at gemme de, er nok til at få fejlen.

Hilsen Erik
Avatar billede sonalias Seniormester
31. marts 2015 - 08:39 #7
Bruger du notesblok? Prøv at hente en lidt "vildere" editor eksempelvis Notepad++, her kan du vælge encoding filen skal gemmes i :)
Avatar billede ej147 Nybegynder
31. marts 2015 - 10:47 #8
Tak for forslaget.
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

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