Mittwoch, 19. November 2014

Videokurs Objective-C

Bis jetzt habe ich Objective-C nur durch Praxis, also unsystimatisch gelernt.
Es kommt die Zeit alle "Perlen" in eine Collier zu sammeln.
Hier habe ich relativ neue Schulung zu dem Thema Objective-C gefunden: 
http://www.chip.de/video/Objective-C-lernen-Teil-1-Xcode-Grundlagen-Tutorial-deutsch-Video_71066533.html
Vom Anfang an  /XCode Installation) werden alle Themen nach und nach geklärt.
Ich nehmen mir vor wärend meinen Urlaub es  anzuschauen.
 

Donnerstag, 13. November 2014

Externe Datenbank MSSQL einbinden

Für den Zugriff auf einer esternen Datenbank sind die folgende Schritte notwendig: 
1) freeds.conf Datei öffnen. Wenn Sie XAMP als Apache benutzen, dann liegt es in Programme/XAMPP/etc/freeds.conf.
2)
# A typical Microsoft server
[egServer70]
        host = HOSTNAME
        instance = db
    port = 1433
    tds version = 8.0
        client charset = UTF-8

Dienstag, 11. November 2014

Daten in Unicode von PHP Formular zu MSSQL übertragen

Wie überträgt man die Daten mit PHP Formular an MSSQL Datenbank.
Zwischen klassische Lösungen  PHP <-> MySQL und PHP<->MSSQL gibt es einige Unterschiede. Dazu gehört: die Datentransferierung in Unicode. Da unsere Daten mehsprachig sein können, ist das Thema Unicode besonders gut zu beachten. Folgende Besonderheiten sollen berücksichtigt werden:
  1. Die Columns (Spalten in der Tabelle), die für Unicode Inhalt gedacht sind müssen als nvarchar Type haben.
  2. Erstellung der Tabelle: $table - Tabellename, ID- automatische Zeilenzähler, tickertext  und kategoriy haben NVARCHAR Type.  $result = mssql_query("CREATE TABLE $table ( ID int IDENTITY(1,1) PRIMARY KEY,  tickertext NVARCHAR( 200 ) NOT NULL ,  kategory NVARCHAR( 150 ) ) ") or die(mysql_error());
  3. Vor der Datenbankverbindung ini_set('mssql.charset', 'UTF-8'); 
  4. Im Form Tag <form METHOD="post"  action="ticker-formmailer.php" ENCTYPE="multipart/form-data" name="ticker" accept-charset="utf-8">
  5. Datenübergabe:  Es gibt zwei Lösungen dafür.
    1. $tabele = "DWNews_Ticker"; //Tabellename
      $tickertext = $_POST['tickertext']; //Datenübergabe vom Formular mit POST Methode
      $kategorie  = $_POST['kategorie']; //Datenübergabe vom Formular mit POST Methode
      $result = mssql_query("INSERT INTO DWNews_Ticker (tickertext, kategory) VALUES (N'$tickertext',N'$kategorie')");
      Nachtei von der Übertragung, dass die Daten in einer verzehrter Codierung übertragen wurden. Dafür aber auf der Webseite, Benutzer-Oberfläche korrekt ausgelesen.
    2. $tickertext = iconv('UTF-8', 'UTF-16LE', $_POST['tickertext']); //Konvertierung durch native encoding
      $tickertext = bin2hex($tickertext); //Konvertierung durch hexadecimal
      $tickertext = '0x'.$tickertext;
      Gleiche für die zweite nvarchar:
      $kategorie = iconv('UTF-8', 'UTF-16LE', $_POST['kategorie']); //convert into native encoding
      $kategorie = bin2hex($kategorie); //convert into hexadecimal
      $kategorie = '0x'.$kategorie;
      Hier werden die Daten in die Datenbank gespeichert
       
      $result = mssql_query("INSERT INTO DWNews_Ticker (tickertext, kategory) VALUES (CONVERT(nvarchar(2000),  $tickertext), CONVERT(nvarchar(2000),  $kategorie))");
      Mit der Übertragung werden die Sätze aus dem Formular als Unicode in der Datenbank kopiert.