Autor Beitrag
ssb-blume
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 329
Erhaltene Danke: 6

XP, W7, W8
Deutschland
BeitragVerfasst: Mo 01.05.17 17:12 
Hallo!
mein Provider hat die Internetseite auf einen anderen Server gestellt, Die Datenbank ist in UTF-8, eben so alle Tabellen.

Bei Ansehen muss ich feststellen, dass alle umlaute (auch ß) nicht dargestellt werden statt dessen wird eine schwarze Raute mit einem Fragezeichen gezeigt.
Ich habe nun alle Möglichkeiten probiert, die Zeichen headezimal angezeigt usw. Kein Erfolg:
Im Header steht der Zeichensatz utf-8;

Was ist hier los? wie kann ich die Umlaute wieder anzeigen??

Vorab schon Danke
Hansi


Moderiert von user profile iconTh69: Topic aus Datenbanken (inkl. ADO.NET) verschoben am Di 02.05.2017 um 15:42

_________________
Brain: an apparatus with which we think we think.
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1830
Erhaltene Danke: 333

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mo 01.05.17 17:33 
Guten Tag ssb-blume,

was hierbei passiert ist folgendes:
ausblenden C#-Quelltext
1:
2:
3:
string s = "Straße";
byte[] b = Encoding.Default.GetBytes(s);
MessageBox.Show(Encoding.UTF8.GetString(b)); // Ausgabe: Stra�e

Du musst den Text für dich (richtig) enkodieren, wahrscheinlich auf UTF16(Unicode), ANSI(Default) oder was auch immer.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
ssb-blume Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 329
Erhaltene Danke: 6

XP, W7, W8
Deutschland
BeitragVerfasst: Di 02.05.17 10:01 
Genau das hatte ich gefragt, die Antwort also nicht gerade hilfreich.
ABER das hat mich angespornt, eine Funktion zu machen die auch wirklich funktioniert:

ausblenden PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
<?php

function um_uni($from)  // in DB ist definitiv ein Zeichen >7F vorhanden!
{
 $x = '';
 $i = 0;
 for ($i = 0$i < strlen($from); $i++)
 {
    $k = ord($from[$i]);
    if ($k < 128)  {  $x .= $from[$i]; }  
    else
    {
        switch ($k)
       {
           case 228$x .= 'ä'break;
           case 246$x .= 'ö'break;
           case 252$x .= 'ü'break;
           case 196$x .= 'Ä'break;
           case 214$x .= 'Ö'break;
           case 220$x .= 'Ü'break;
           case 223$x .= 'ß'break;
       }
    }
 }
 return $x;
}
?>


Falls jemand eine bessere Lösung hat, - immer her damit!

Hansi

_________________
Brain: an apparatus with which we think we think.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3608
Erhaltene Danke: 719

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Di 02.05.17 10:58 
Hallo ssb-blume,

geht es dir denn um PHP-Code oder um C#-Code (weil du im C# und .NET-Bereich gepostet hast)?
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 376
Erhaltene Danke: 48



BeitragVerfasst: Di 02.05.17 11:22 
Falls PHP:

user profile iconssb-blume hat folgendes geschrieben Zum zitierten Posting springen:
Falls jemand eine bessere Lösung hat, - immer her damit!


php.net/manual/de/book.mbstring.php
ssb-blume Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 329
Erhaltene Danke: 6

XP, W7, W8
Deutschland
BeitragVerfasst: Di 02.05.17 13:50 
definitiv php, habe die erste Sparte genommen, die Datenbank enthält. SORRY

_________________
Brain: an apparatus with which we think we think.
ssb-blume Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 329
Erhaltene Danke: 6

XP, W7, W8
Deutschland
BeitragVerfasst: Di 02.05.17 13:59 
hydemarie:

Wenn Du mein Beispiel gelesen hast, dann wirst Du merken, dass die ankommenden Zeichen alle in im Standard kommen, also die Umlaute auf der Tabelle > 128 und mit dem gleichen Byte.
Die Funktion macht also nichts anderes als einen vorhanden Bytecode in Integer zu wandeln und danach wieder in das Zeichen. Eigendlich Quatsch, aber es funktioniert.
Wer weiß wieso, ist mir auch egal.
hansi

_________________
Brain: an apparatus with which we think we think.
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 376
Erhaltene Danke: 48



BeitragVerfasst: Di 02.05.17 14:10 
user profile iconssb-blume hat folgendes geschrieben Zum zitierten Posting springen:
Wer weiß wieso, ist mir auch egal.


Das ist ja ungefähr so das Problem ... :)
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1830
Erhaltene Danke: 333

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Di 02.05.17 15:59 
Gäbe es an str_replace() etwas auszusetzen? Sind ja nur 7 Zeichen, die ersetzt werden müssen.
Weil die letzte Antwort nicht so hilfreich war: Egal ob nun eine Datenbank, eine Textdatei oder eine Webseite in der Kodierung UTF-8 vorliegen, so ist jene Kodierung für die Darstellung von Umlauten und dem scharfen-S nicht geeignet.
Dieses Forum hier hat das charset, ISO-8859-1, könntest du auch benutzen. Wäre es UTF-8, würde Frühlingsrolle "anders" dargestellt werden.

Nachtrag:
Eine bessere Alternative dazu: iconv()

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 658
Erhaltene Danke: 80



BeitragVerfasst: Di 02.05.17 17:15 
Eventuell hilft ja nach dem Aufbau der Verbindung die Umstellung auf UTF8:

ausblenden PHP-Quelltext
1:
mysqli_set_charset($ConnectionID"utf8");					

Das hatte seinerzeit bei uns die Probleme beseitigt.

ub60