Umlaute/Sonderzeichen

06/21/2016 12:15 -=-Killha-=-#1
Hallo, ich wolte mal ein Casino Script Testen (wenn jemand link möchte dann PM)

Leider ist das Script auf Russisch und mit öüäöä voll.

Die seite ist verbugt und mit �������� und ������������� ������. ������: ".htmltext($error)."
"; } ?>
������

voll verbugt... ich habe schon auf utf8 gestellt aber bringt nix,
HTML Code:
[CODE]
$site['coding']    = "utf8";
$site['loc']       = "utf8_unicode_ci";

$full_base = [MENTION=519219]MySql[/MENTION]_pconnect($dbhost, $dbuname, $dbpass) or die("<br><br><center><br><br><b>Íå óäàëîñü ïîäêëþ÷èòñÿ ê áàçå äàííûõ, ïîæàëóéñòà óñòàíîâèòå êîððåêòíûå äàííûå è îáíîâèòå ñòðàíè÷êó.</center></b>");
 [MENTION=519219]MySql[/MENTION]_select_db($dbname, $full_base) or die("<br><br><center><br><br><b>Íåêîððåêòíî óêàçàíî èìÿ ðàáî÷åé áàçû, ïîæàëóéñòà óñòàíîâèòå êîððåêòíûå äàííûå è îáíîâèòå ñòðàíè÷êó.</center></b>");

 [MENTION=519219]MySql[/MENTION]_query("SET NAMES '".$site['coding']."'");
 [MENTION=519219]MySql[/MENTION]_query("SET CHARACTER SET '".$site['coding']."'");
 [MENTION=519219]MySql[/MENTION]_query("SET [MENTION=5467693]@col[/MENTION]lation_connection = ".$site['loc']."");[/CODE]
Was bleiben mir noch für möglichkeiten?
06/21/2016 17:42 #Metho#2
Also wir sollten uns im ersten Schritt um MySQL kümmern...

Direkt nach dem Verbindungsaufbau deklarieren wir
PHP Code:
mysql_set_charset('utf8'$full_base); 
Danach sollten wir entweder alle str-Funktionen sichern mittel dem Prefix

PHP Code:
iconv 
PHP Code:
strlen('string') -> iconv_strlen('string'); 
Oder wir machen direkt alle multi-byte sicher :)

[Only registered and activated users can see links. Click Here To Register...]

Danach sollten folgende Dinge so in deiner my.ini/my.conf (MySQL-Konfiguration) stehen

PHP Code:

  
[client]
  default-
character-set=UTF-8
    
  
[mysql]
  default-
character-set=UTF-8
    
  
[mysqld]
  
character-set-client-handshake false #force encoding to uft8
  
character-set-server=UTF-8
  collation
-server=UTF-8_general_ci
    
  
[mysqld_safe]
  default-
character-set=UTF-
Dies wird nur umgesetzt solltest du MySQL neustarten

Nun zum PHP internen

Du musst die Datei auch richtig kodiert haben, sonst sind dir die Hände gebunden^^

[Hier mal das Beispiel in Notepad++] Du kannst den Inhalt einer Datei kopieren und dort kannst du danach deine, unter Kodierung (oben im Reiter), auswählen, Nachdem ersetzt du deinen aktuellen Inhalt mit der Zwischenablage.

Die Befehle hierfür: CTRL + A | CTRL + C | Kodierung auswählen | CTRL + V

Danach haben wir die Möglichkeit den meta-Tag zu setzen.

HTML 5
HTML Code:
<meta charset="utf-8" >
HTML ... 4, 5
HTML Code:
<meta charset="UTF-8" />
Danach adaptieren wir unseren Header

PHP Code:
header('Content-Type: text/html; charset=utf8'); 
Um dies zu allen Dateien zu verabreichen nutzen wir in der .htaccess

PHP Code:
AddDefaultCharset utf-
Solltest du Dateien haben, welche nur lokal bearbeitet werden, kannst du ebenfalls

HTML 5
HTML Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
HTML ... 4, 5
HTML Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Danach setzten wir unsere php.ini-Datei:

PHP Code:
default_charset "utf-8"
Danach haben wir noch Sonderzeichen, welche wir nur mittel HTML Angabe ausbessern können.

Dazu brauchen wir entweder eine Zeichentable mit ASCII und den adaptiven Zeichen

HTML Code:
&ASCII_CODE;
Oder eine angepasste HTML Tabelle¨

HTML Code:
&HTML_CODE
So, sollte das Problem noch bestehen, können wir davon ausgehen, es liegt an MySQL.

#Edit: Sofern du uns dann mitteilst, dass der Fehler immer noch existent ist, würde ich vorschlagen du schickst mir deine PHP-Dateien oder wir gucken das über TeamViewer an.