2014-03-03 71 views
0

我試圖執行這些命令:查詢捷克字符集不工作?

$sql = "UPDATE `ps_product_lang` SET `available_now` = 'Skladem do 10 pracovních dnů';"; 
$sql = mb_convert_encoding($sql, "UTF-8"); 
$databaze = new mysqli(_DB_SERVER_,_DB_USER_,_DB_PASSWD_,_DB_NAME_); 

    if (mysqli_connect_errno()) { 
     blah blah ... 
} 
if ($databaze->query($sql) === TRUE) { 
    blah blah ... 
} 
$databaze->close(); 

執行此代碼的SQL數據庫中有Skladem do 10 pracovních dnù而不是Skladem do 10 pracovních dnů ..本身的差異後? ù而不是......我們的字母表中甚至沒有那種怪異的字符ù

+0

刪除'$ sql = mb_convert_encoding($ sql,「UTF-8」);'並嘗試用'$ databaze-> set_charset(「utf8」);'那樣做幫幫我?還要確保你的表格字符集是'UTF-8' – Prix

+0

不是,輸出結果如下:'Skladem do 10 pracovn' ..剛剛在第一個''之前切換:/ – jirislav

+0

如果你正在使用PHPMyAdmin查看它,請確保你點擊因爲它有時會隱藏部分保存的數據。 – Prix

回答

0

好吧,我以後很長一段時間嘗試很多選項已經找到了解決辦法:

,而不是寫這個:

$ SQL = mb_convert_encoding($ sql中, 「UTF-8」);

有應寫入此:

$ SQL = mb_convert_encoding($ SQL, 「UTF-8」, 「ISO-8859-2」);

雖然你應該確保你的文本是用這種格式編寫的ISO-8859-2 f.e.在你的頭標籤中有這樣的內容:<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"/>