2016-07-29 195 views
0

我有問題,轉換從latin1utf8
我有2個數據庫,首先是在latin1秒在utf8LATIN1到UTF8轉換問題

實施例:
select * from latin1_db給出
"SPÓŁDZIELNIA PRODUCENTÓW TRZODY ODRODZENIE BOBROWNIKI WĄGROWIEC"

但我插入到utf8分貝它變成
"SPÓ?DZIELNIA PRODUCENTÓW TRZODY ODRODZENIEBOBROWNIKI W?GROWIEC"

如何使這兩個字符串將是相同的

我使用

$str=utf8_encode($str); 
$str=Encoding::fixUTF8($str); 

iconv 

,但效果不好。

+0

請參閱http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-store並尋找「問號」。按照建議提供HEX。不要使用任何「修復」程序;這隻會使問題複雜化。 –

回答

0

你必須與

SET NAMES utf-8 

設置數據庫連接的編碼作爲一個SQL查詢。您不提供代碼與數據庫請求,所以我不能更新您的代碼來說明我的意思。對於PDO,它應該是

$pdo = new PDO(
    'mysql:host=yourdbhost;dbname=yourdbname', 
    'username', 
    'password', 
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") 
); 
+0

它給「SPÓ?DZIELNIAPRODUCENTÓWTRZODY ODRODZENIE BOBROWNIKI W?GROWIEC」它不改變字母ł或± – binar