PHP MySQL tablo tanımlı kodlama almak için bir yolu var mı?

3 Cevap php

Ben fonksiyonunu mysql_client_encoding(...) PHP kullanarak bir MySQL veritabanı tanımlı kodlama alabilirsiniz görmek, ama is there a way to get a MySQL table defined encoding in PHP ?

3 Cevap

Ben bu bilgi almak için kolay bir yol göremiyorum. Yapabileceğim en iyi bir yapmak için "GÖSTER TABLO OLUŞTURMA;" ve cevap ayrıştırmak:

<?php

$link = mysql_connect('localhost', 'account', 'passwd');
mysql_select_db('my_base');

$q = mysql_query('show create table my_table;');
$row = mysql_fetch_assoc($q);

preg_match("/CHARSET=(.*)/", $row['Create Table'], $matched);
echo "Table was created with charset " . $matched[1];

Bana verir:

Table was created with charset utf8

Tablo bu bilgi ile oluşturulan değildi eğer charset mevcut olmayabilir unutmayın.

I am using SHOW CREATE TABLE query, but never from PHP.
Because I can't imagine if I ever need to run it from PHP. SET NAMES can serve any possible case.

Bu mysql_client_encoding Not () veritabanı kodlama değil döndürür. Diyor gibi, müşteri kodlama bulunuyor

Bildiğim kadarıyla kodlama MySQL değil masa başına bir veritabanı bazında tanımlanır.