2014-04-06 57 views
0
特殊字符

我有帶口音和特殊字符,如一個問題:N,C ...口音和在MySQL

我用下面的代碼在一個MySQL數據庫引入數據:

$artist = mb_convert_encoding(mb_convert_case($_POST["artist"], MB_CASE_TITLE), "UTF-8"); 
$title = mb_convert_encoding(mb_convert_case($_POST["title"], MB_CASE_TITLE), "UTF-8"); 
$name = mb_convert_encoding(mb_convert_case($_POST["name"], MB_CASE_TITLE), "UTF-8"); 

$query = $db->prepare("INSERT INTO songs (artist, title, name) VALUES (?, ?, ?)"); 
$query->execute(array($artist, $title, $name)); 

一個失敗的例子(歌曲的歌手/歌曲標題/ádamgracia)。這是插入爲:

Artist Of The Song/Title Of The Song/Ãdam Gracia) 

最糟糕的是,本地(本地主機),完美的作品,我的託管,它給出了上述輸出。同樣的情況與C,N等。

我試圖在PHP我的管理員更改編碼選項,但我不知道該怎麼辦...

謝謝大家!

+0

@aris,更改SQL數據庫字符集,它是在拉丁詞,現在卻是在utf8_spanish_ci。同樣的問題 – qalbiol

回答

0

嘗試設置字符集的連接,如:

new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf-8", $dbUser, $dbPass); 
+0

我的連接文件已經是這樣了。謝謝 – qalbiol

+0

好吧,即時通訊足夠愚蠢,我剛剛看到主機的連接文件不包含這最後一個位(charset = utf-8)...對於問題jeje抱歉。 – qalbiol