ว่าด้วยการการแสดงภาษาไทยใน SQLiteManager
ถึงแม้ว่าเราจะกำหนดให้ SQLite จัดเก็บข้อมูลภาษาไทยแบบ UTF-8 ก็ตาม แต่เวลาแสดงผลใน SQLiteManager นั้นบางทีก็ไม่ถูกต้อง เพราะว่าตัว SQLiteManager นั้นแสดงผลแบบ iso-8859-1 ซึ่งสามารถตรวจสอบได้จาก View > Source ของหน้านั้นๆ
การกำหนดให้ SQLiteManager ใช้ Charset เป็น UTF-8 นั้นไม่ยาก เพียงเข้าไปยัง SQLiteManager\lang\english.inc.php แล้วเปลี่ยนค่า $charset ให้เป็น
$charset = ‘UTF-8′;
เพียงเท่านี้ SQLiteManager ก็จะแสดงผลเป็น UTF-8 ตลอดเวลา เราสามารถอ่านภาษาไทยในหน้านั้นๆ ได้เลย
ภาค 2 ว่าด้วยการโอนย้ายข้อมูลจาก MySQL มายัง SQLite โดยใช้ SQLiteManager
ขั้นตอนการทำงานไม่ยุ่งยากเพียงแต่ต้องค่อยเป็นค่อยไป เริ่มจาก สร้าง Table ใน SQLite ให้มีคุณสมบัติเหมือนกับ Table ที่อยู่ใน MySQL เสียก่อน จากนั้นจึง Export ข้อมูลของ MySQL ผ่านทาง phpMyAdmin โดยเอาเฉพาะ Data เท่านั้น (ไม่เอา Structure เพราะเราได้เตรียมไว้แล้ว) จากนั้นก็ลบบรรทัดที่ไม่จำเป็นในไฟล์ที่ Export ออกมา ให้เหลือแต่ข้อมูลเพียวๆ แล้วก็เอาไปใส่ใน SQL Box ของตัว SQLiteManager แล้วก็กดปุ่มดำเนินการต่อ เท่านี้ข้อมูลที่อยู่ใน MySQL ก็จะมาอยู่ใน SQLite แล้ว
$active_group = "sqlite";
$active_record = TRUE;
$db['sqlite']['hostname'] = "localhost"; $db['sqlite']['username'] = "";
$db['sqlite']['password'] = "";
$db['sqlite']['database'] = "path/to/database.sqlite2";
$db['sqlite']['dbdriver'] = "sqlite"; $db['sqlite']['dbprefix'] = "";
$db['sqlite']['pconnect'] = FALSE;
$db['sqlite']['db_debug'] = TRUE;
$db['sqlite']['cache_on'] = FALSE;
$db['sqlite']['cachedir'] = "";
$db['sqlite']['char_set'] = "utf8";
$db['sqlite']['dbcollat'] = "utf8_general_ci";
จาก http://route19.com/logbook/view/codeigniter-with-sqlite-v2
การกำหนดค่า config/database.php ใน CodeIgniter ให้ใช้งานฐานข้อมูลแบบ SQLite ซึ่งเป็นฐานข้อมูลที่เร็วทำงานในระดับ Memory จัดเก็บลงบนดิสก์ แต่ไม่เหมาะสำหรับนำไปทำเป็น Database Server แต่ถ้าใช้งานแบบ Server-Side ล่ะก็เร็วสุดๆ
ควรใช้งานคู่กับ SQLiteManager ซึ่งคือๆ กับ phpMyAdmin ที่เป็น Web-Base Application ที่เอาไว้จัดการฐานข้อมูลของ MySQL
โค้ดตัวอย่างง่ายๆ สำหรับคนที่ต้องการใช้ PHP ดึงข้อมูลจาก MySQL ขึ้นมาแล้วสร้างเป็น XML ไว้ใช้งาน
<?php
//XML output of an existing MySql database
header("Content-type: text/xml");
//to create connection to database
$connection = mysql_connect("127.0.0.1","username", "password")
or die ("could not connect to database");
//to select the database here test is the sample database come with mysql
$db = mysql_select_db("test",$connection)
or die ("Couldn't select database.");
$rs = mysql_query("select * from tablename",$connection)
or die ("invalid query");
//count the no. of columns in the table
$fcount = mysql_num_fields($rs);
//you can choose any name for the starting tag
echo ("<result>");
while($row = mysql_fetch_array( $rs ) )
{
echo ("<tablerow>");
for($i=0; $i< $fcount; $i++)
{
$tag = mysql_field_name( $rs, $i );
echo ("<$tag>". $row[$i]. "</$tag>");
}
echo ("</tablerow>");
}
echo ("</result>");
?>
เครดิตจาก ที่นี่ ครับ