我有一個關於從內部mysql查詢轉換字符集的問題。在mysql查詢中轉換字符集
我有一個2數據庫。一個用於網站(joomla),另一個用於論壇(IPB)。 我在做從內部joomla,其默認情況下有「SET NAMES UTF8」查詢。 我想查詢論壇數據庫中的表。一個名爲「ibf_topics」的表。該表具有latin1編碼。
我按照以下步驟從not-utf8表中選擇任何東西。
//convert connection to handle latin1.
$query = "SET NAMES latin1";
$db->setQuery($query);
$db->query();
$query = "select id, title from other_database.ibf_topics";
$db->setQuery($query);
$db->query();
//read result into an array.
//return connection to handle UTF8.
$query = "SET NAMES UTF8";
$db->setQuery($query);
$db->query();
之後,當我想用所選的瓷磚,我使用以下命令:
echo iconv("CP1256", "UTF-8", $topic['title'])
的問題是,反正是有避免這一切的麻煩? 現在,我不能論壇數據庫更改爲UTF8,我不能的Joomla數據庫更改爲LATIN1:S
對不起?我沒有明白。 你能解釋更多嗎?這和我的代碼有什麼區別? – Yousf 2010-04-23 23:25:29
@Yosif它縮短了2倍 – 2010-04-23 23:40:13
我得到了你的答案,但這不起作用。我應該在從「other_database.ibf_topics」中選擇之前將名稱更改爲latin1;如果連接使用UTF8,則此表包含已損壞的非英文字母。 – Yousf 2010-04-24 09:05:19