Ich versuche, eine alte Website neu zu schreiben.
Es ist auf Persisch, das perso/arabische Zeichen verwendet.
CREATE DATABASE `db` DEFAULT CHARACTER SET utf8 COLLATE utf8_persian_ci;
USE `db`;
Fast alle meine Tabellen/Spalten sind auf COLLATE eingestellt utf8_persian_ci
Ich verwende Codeigniter für mein neues Skript und ich habe
'char_set' => 'utf8',
'dbcollat' => 'utf8_persian_ci',
In den Datenbankeinstellungen gibt es also kein Problem.
Hier ist also der seltsame Teil
Das alte Skript verwendet eine Art Datenbank-Engine namens TUBADBENGINE
oder TUBA DB ENGINE
… nichts Besonderes .
Wenn ich einige Daten in die Datenbank (auf Persisch) mit dem alten Skript eingebe, wenn ich in die Datenbank schaue, werden Zeichen wie gespeichert عمران
.
Das alte Skript holt/zeigt diese Daten gut an, aber das neue Skript zeigt sie mit der gleichen seltsamen Schriftart/Zeichensatz wie die Datenbank
Also wenn ich eintrete اااا
sieht Datenbank gespeicherte Daten aus عمراÙ
wenn ich es im neuen Skript abrufe, sehe ich عمراÙ
aber im alten Skript sehe ich اااا
CREATE TABLE IF NOT EXISTS `tnewsgroups` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`fName` varchar(200) COLLATE utf8_persian_ci DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=11 ;
--
-- Dumping data for table `tnewsgroups`
--
INSERT INTO `tnewsgroups` (`ID`, `fName`) VALUES
(1, 'عمران'),
(2, 'معماری'),
(3, 'برق'),
(4, 'مکانیک'),
(5, 'test'),
(6, 'test2');
Andererseits, wenn ich eintrete ااااا
direkt in der Datenbank
Das gleiche habe ich natürlich auch اااا
in der Datenbank gespeichert
Das neue Skript zeigt es gut
Aber im alten Skript bekomme ich ????
Kann jemand etwas Sinn daraus machen?
Hier ist der Tuba-Engine
https://github.com/maxxxir/mz-codeigniter-crud/blob/master/tuba.php
Anwendungsbeispiel aus altem Skript:
define("database_type" , "MYSQL");
define("database_ip" , "localhost");
define("database_un" , "root");
define("database_pw" , "");
define("database_name" , "nezam2");
define("database_connectionstring" , "");
$db = new TUBADBENGINE(database_type , database_ip , database_un , database_pw , database_name , database_connectionstring);
$db->Select("SELECT * FROM tnews limit 3");
if ($db->Lasterror() != "") { echo "<B><Font color=red>ÎØÇ ! áØÝÇ ãÌÏøÏÇ ÊáÇÔ ˜äíÏ"; exit(); }
for ($i = 0 ; $i < $db->Count() ; $i++) {
$row = $db->Next();
var_dump($row);
}