我使用cURL從網頁中拉出選定的數據,直到最近我一直在錄製輸出到純文本文件,但現在我更好地理解了MySQL/SQLite我決定完全切換到關係數據庫,使得管理數據變得更加容易。PHP SQLite錯誤
但我已經遇到了幾個問題,我一直沒能解決我自己的:
1)編輯:問題簡單地使用單獨sqlite_escape_string解決。
然而其他問題仍然是:
2)被插入到數據庫中的內容似乎有它的編碼方式弄亂了例如™變成¢,'變成'等等。只有在SQLite正在處理它時纔會發生這種情況,否則,如果我以其他方式回顯完全相同的數據或將其保存到文本文件,則會保留編碼(UTF-8)並正確呈現所有內容。
我試過使用utf8_encode();之前插入,但只是更糟糕的東西了。我要指出的是手動編輯插入工作後這樣的問題顯然與數據庫本身,而是用的方式被插入的數據轉換成它
下面是當前的代碼:
$name = sqlite_escape_string($name);
$category = sqlite_escape_string($category);
$html = sqlite_escape_string($html);
$db = new SQLiteDatabase('DB.sqlite');
$query = 'INSERT INTO Table (Name, Category, Html)' . "VALUES ('$name', '$category', '$html')";
$db->queryExec($query);
顯然其他人有與此類似的問題:
你絕對應該運行'在單值'$ name','$ html' sqlite_escape_string'等** **不上'$ insert'。 – 2010-09-28 06:25:27
嘿,你是對的,它只需要這個:$ html = sqlite_escape_string($ html); 我覺得很笨,哈哈。 – 2010-09-28 22:27:54