wordpress 上傳附件中文文件名標題亂碼解決辦法-中文檔名附件標題亂碼解決方法 – WORDPRESS ATTACHMENT TITLE ISSUE

wordpress 上傳附件中文文件名標題亂碼解決辦法-中文檔名附件標題亂碼解決方法 – WORDPRESS ATTACHMENT TITLE ISSUE-圖片1

WORDPRESS ATTACHMENT TITLE ISSUE
WordPress 的整個發(fā)展過程支援 163種語系 ,其中經(jīng)常維護的都有72種語系之多。當然繁體中文在很多志工的貢獻服務(wù)下,也成為其中很重要的一支語系。不過關(guān)于核心程式的變動,偶而還是會造成其他非英語系的系統(tǒng)有一些使用上的錯誤。在經(jīng)歷幾次資料庫亂碼的災(zāi)難后,個人的使用習慣是將文章代稱改成英文,另外也將上傳的媒體檔案名稱避開以中文方式命名,簡化對于系統(tǒng)程式字元編碼的依賴。而最近聽到朋友反應(yīng),原本中文檔名附件支援好好的,好像在最新的版本又發(fā)生標題出現(xiàn)亂碼的現(xiàn)象(圖一),雖然這個附件的標題還是可以自行修改成正確的中文說明,不過對于一次需要上傳很多附件檔案的朋友,還是造成了一些小小的困擾。接著就跟大家分享一下官網(wǎng)上官于這個程式 bug的解決方法,有需要的朋友也可以參考一下。

中文檔名附件標題亂碼解決方法
檢視了一下官網(wǎng)上的Trac Ticket Reports,這個中文副檔名標題亂碼的Bug問題應(yīng)該會在4.6.2版獲得修正,如果等不及需要先修改的話,可以參考一下#37989 上有人提出的解決方法來修改/wp-admin/includes/media.php 檔案,以下是米粒在線另外一個方法是編輯主題的函數(shù)文件functions.php檔案。

使用文字編輯器編輯主題的函數(shù) functions.php 檔案,請?zhí)钊胍韵抡Z法。

function wp37989_fix_encoded_attachment_titles( $data ) {
if ( empty( $_FILES ) ) {
return $data;
}

$file = current( $_FILES );
$ext = pathinfo( $file['name'], PATHINFO_EXTENSION );
$name = wp_basename( $file['name'], ".$ext" );

$data['post_title'] = sanitize_text_field( $name );

return $data;
}
add_filter( 'wp_insert_attachment_data', 'wp37989_fix_encoded_attachment_titles' );

//假如上段函數(shù)添加后上傳還是亂碼的話,那么再增加以下函數(shù)即可解決。(成功的話忽略以下函數(shù))
function upload_file($filename) {
$parts = explode('.', $filename);
$filename = array_shift($parts);
$extension = array_pop($parts);
foreach ( (array) $parts as $part)
$filename .= '.' . $part;
if(preg_match('/[\x{4E00}-\x{9FA5}]/u', $filename)){
$filename = md5($filename);
}
$filename .= '.' . $extension;
return $filename ;
}
add_filter('sanitize_file_name', 'upload_file', 5,1);

 

語法編輯完成以后請上傳到到主題文件夾下,這時再上傳中文檔名附件時,可以看到標題恢復(fù)正常的中文顯示了(圖二)。

wordpress 上傳附件中文文件名標題亂碼解決辦法-中文檔名附件標題亂碼解決方法 – WORDPRESS ATTACHMENT TITLE ISSUE-圖片2

(圖一)中文檔名附件標題亂碼

wordpress 上傳附件中文文件名標題亂碼解決辦法-中文檔名附件標題亂碼解決方法 – WORDPRESS ATTACHMENT TITLE ISSUE-圖片3

(圖二)中文檔名附件標題亂碼修正完成

 

總結(jié)
在做網(wǎng)站管理時常常會遇到系統(tǒng)程式升級或者是主題/外掛程式等等的升級,并不一定每一次的升級都可以保證我們的網(wǎng)站運作正確。不過基于網(wǎng)站安全與正常運作的最基本原則下,確實的做好網(wǎng)站管理是每一位網(wǎng)站管理者的職責。很高興在 WordPress 有非常多的志工,隨時提供關(guān)于程式漏洞或是 Bug的修正程式,讓我們可以安心又安全的維持網(wǎng)站運作,這應(yīng)該又是一個讓人不得不愛上 WordPress的原因吧。

 
  • 本文由 米粒在線 發(fā)表于 2016年11月28日07:56:39
  • 轉(zhuǎn)載請務(wù)必保留本文鏈接:http://m.bjmhhq.com/42637.html
網(wǎng)站建設(shè)

網(wǎng)站速度很慢?使用 WordPress 短時緩存(Transients)來優(yōu)化數(shù)據(jù)庫查詢和 HTTP 響應(yīng)!

每個人都想要一個速度很快的網(wǎng)站,網(wǎng)站速度越快,用戶停留和點擊頁面或購買產(chǎn)品的時間就越長,加快網(wǎng)站速度的方法之一是開啟緩存,而緩存背后的邏輯就是存儲信息,更具體一點說,就是找到一個比連接數(shù)據(jù)庫更快的存儲...
百科知道

WordPress文章過多導(dǎo)致網(wǎng)站慢卡頓優(yōu)化方法,禁用SQL_CALC_FOUND_ROWS

當我們使用WordPress作為程序時,如果WordPress網(wǎng)站的文章數(shù)量超過10萬,即使網(wǎng)站服務(wù)器的配置很強大,網(wǎng)站的打開速度基本上也會很慢。這時我們就需要對網(wǎng)站進行優(yōu)化。這是因為 Wor...
    • 米粒在線

      還有個辦法解決,就是如果是虛擬主機,看是否支持URL編碼設(shè)置。如果有的話,設(shè)置改為UTF-8或者GBK解決。

    發(fā)表評論

    匿名網(wǎng)友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
    確定

    拖動滑塊以完成驗證