2012-09-18 43 views
2

我有一個國際照片網站。當那些來自國外的辦公室上傳照片,字幕和標題有時有外文字符,如:將外來字符轉換爲正常

1. François Hollande 
2. ValŽrie Trierweiler 

而這些獲取存儲在數據庫(MySQL的 - latin1_swedish_ci),原樣。現在,當談到搜索弗朗索瓦,沒有法文字符,用簡單的英文,這些特定的照片不顯示。

現在這不僅僅是法國人物的問題 - 也是其他國家的問題。這怎麼可能,我之前遞交到我的數據庫,這些外來字符轉換爲正常的,如:

  1. 弗朗索瓦·奧朗德
+0

有一個名爲TRANSLIT http://pecl.php.net/package/translit,也許你可以從那裏得到靈感PHP模塊。 – wroniasty

回答

5

你可以使用Adodb.Streamascii字符集。這裏有一個例子:

With Server.CreateObject("Adodb.Stream") 
    .Charset = "ascii" 
    .Open 
    .WriteText "François Hollande ValŽrie Trierweiler ÖÇŞİĞÜöçşığü ôûõòùìñ" 
    .Position = 0 
    Response.Write .ReadText 
End With 

上面的腳本必須正確打印Francois Hollande ValZrie Trierweiler OCSIGUocsigu ouoouin

0

This answer將最有可能涉及你的情況。

您不需要外部庫,您可以使用多種方法檢查一致性,使用正則表達式作爲我個人偏好的不是太大的字符串。

1

而且這樣也可以是一個功能

Function unaccent(strg) 
    With Server.CreateObject("Adodb.Stream") 
    .Charset = "ascii" 
    .Open 
    .WriteText strg 
    .Position = 0 
    unaccent = .ReadText 
    End With 
End Function 
相關問題