2013-12-08 92 views
0

我使用XML文件通過php將數據加載到數據庫中。因爲XML文件有很多UTF8字符,我用下面的SQL命令來改變我的表,以接受UTF-8個字符:SQL即使在數據庫中有數據可用時也返回空元組

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci; 
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 

我在輸入數據全成,但在數據庫中的名稱顯示出來以一種奇怪的方式。例如:

Jääskeläinen shows up as Jääskeläinen 

此外,對於像Jones正常名稱,如果我使用查詢select 'name' from players where 'name' LIKE '%n%';結果集0這是不正確。我只能通過pid前搜索:我得到的結果Jones如果我使用的查詢select 'name' from 'players' where的pid = 453;

有人可以給我,爲什麼我收到此錯誤解釋?

XML文件是這樣的:

<?xml version="1.0" encoding ="utf8"?> 
<pages> 
<link> 
<name> Cech </name> 
<club> Chelsea </club> 
<points> 49 </points> 
</link> 

PHP代碼加載XML文件,將數據輸入到數據庫here

+0

希望有人回覆..... – beginner

回答

2

我通過PHP解決了這個問題,因爲基本上我是檢索和通過PHP處理數據。我在我的php文件中使用設置連接後立即:

$conn = mysql_connect($dbhost, $dbuser, $dbpass); 

把以下內容。

mysql_set_charset('ISO-8859-1',$conn); 

注意字符集設置爲ISO-8859-1,而不是utf8

+1

對你很好! +1 – michi

+1

哇謝謝。我遇到過同樣的問題 – Beginner

相關問題