hakanersu / latin1-to-utf8mb4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Latin-1 to utf8mb4

Charsetlerle ilgili problemlerinizi çözecek ana tek bir çözüm yöntemi maalesef mevcut değil. Bu konuda birbirinden farklı birçok problem ve bu problemleri çözmek için birçok yol mevcut.

Bu ufak kod bütünü deneme amaçlıdır her ne kadar işini yapsada daha güzel çözümlere bulunmakta.

Basitçe aşağıdakiler uygulanıyor.

  • Veritabanı utf8mb4 karakter setine getiriliyor.
  • Veritabanındaki tüm tablolar alınıp karakter setleri güncelleniyor.
  • Tablodaki sutunlar alınarak istenilen alanlarda verilen karakterler yer değiştiriliyor.
use Xuma\Fixer\Database;
use Xuma\Fixer\Query;

include "vendor/autoload.php";

$db = new Database('veritabani_adi', 'root', '');
$query = new Query($db);

$query->setTypes(['varchar', 'text', 'mediumtext'])
    ->setIgnoredFields(['uuid','ipaddress','sessionid', 'email','password'])
    ->setIgnoredTables(['activity_log'])
    ->setParts(['•' => '•', '“' => '“', 'â€�' => '”', '‘' => '‘', '’' => '’', 'ݾ' => 'İ', 'Ý' => 'İ', 'Ä°' => 'İ', 'Ã�' => 'İ', '‹' => 'İ', 'Ý' => 'İ', 'ý' => 'ı', 'ı' => 'ı', '±' => 'ı', 'ý' => 'ı', 'Û' => 'ı', '›' => 'ı', 'ý' => 'ı', 'Þ' => 'Ş', 'Åž' => 'Ş', 'ÅŸ' => 'Ş', 'åÿ' => 'Ş', 'Þ' => 'Ş', 'þ' => 'ş', 'Å?' => 'ş', 'ÅŸ' => 'ş', 'þ' => 'ş', 'Ð' => 'Ğ', 'Äž' => 'Ğ', 'ð' => 'ğ', 'Ä?' => 'ğ', 'ÄŸ' => 'ğ', 'ð' => 'ğ', 'Ç' => 'Ç', 'Ã?' => 'Ç', 'Ç' => 'Ç', 'ç' => 'ç', 'ç' => 'ç', 'Ö' => 'Ö', 'Ö' => 'Ö', 'ö' => 'ö', 'ö' => 'ö', 'Ãœ' => 'Ü', 'Ü' => 'Ü', 'ü' => 'ü', 'ã¼' => 'ü', 'ü' => 'ü', 'ü' => 'ü'])
    ->setDatabaseCharset()
    ->setTableCharsets()
    ->updateColumns();

Eğer sadece spesifik tabloların düzeltilmesini istiyorsak;

$query->setTypes(['varchar', 'text', 'mediumtext'])
    ->setIgnoredFields(['uuid','ipaddress','sessionid', 'email','password'])
    ->tables(['clients'])
    ->setParts(['•' => '•', '“' => '“', 'â€�' => '”', '‘' => '‘', '’' => '’', 'ݾ' => 'İ', 'Ý' => 'İ', 'Ä°' => 'İ', 'Ã�' => 'İ', '‹' => 'İ', 'Ý' => 'İ', 'ý' => 'ı', 'ı' => 'ı', '±' => 'ı', 'ý' => 'ı', 'Û' => 'ı', '›' => 'ı', 'ý' => 'ı', 'Þ' => 'Ş', 'Åž' => 'Ş', 'ÅŸ' => 'Ş', 'åÿ' => 'Ş', 'Þ' => 'Ş', 'þ' => 'ş', 'Å?' => 'ş', 'ÅŸ' => 'ş', 'þ' => 'ş', 'Ð' => 'Ğ', 'Äž' => 'Ğ', 'ð' => 'ğ', 'Ä?' => 'ğ', 'ÄŸ' => 'ğ', 'ð' => 'ğ', 'Ç' => 'Ç', 'Ã?' => 'Ç', 'Ç' => 'Ç', 'ç' => 'ç', 'ç' => 'ç', 'Ö' => 'Ö', 'Ö' => 'Ö', 'ö' => 'ö', 'ö' => 'ö', 'Ãœ' => 'Ü', 'Ü' => 'Ü', 'ü' => 'ü', 'ã¼' => 'ü', 'ü' => 'ü', 'ü' => 'ü'])
    ->setDatabaseCharset()
    ->setTableCharsets()
    ->updateColumns();

About


Languages

Language:PHP 100.0%