Joomla若在Windows主機上,會出現一般PHP中文檔名存檔的問題。
一般是用iconv — Convert string to requested character encoding這個函數來解決。string iconv ( string $in_charset , string $out_charset , string $str )
像是
$tmp_name = $_FILES["thisfile"]["tmp_name"];
$name = iconv('UTF-8','BIG-5',basename($_FILES["thisfile"]["name"]));
move_uploaded_file($tmp_name,$name);
目前使用Joomla的擴充元件當中,Remository就會有問題。此外,核心元件media也會有中文檔名存檔的問題。先就Remository的解決方法說明:
joomla目錄\components\com_remository\p-classes裡面的兩個檔案:remositoryPhysicalFile.php和remositoryFile.php需要修改
remositoryPhysicalFile.php
99行
$this->proper_name = iconv('UTF-8','BIG-5',$_FILES[$key]['name']);
200行
if (move_uploaded_file($this->file_path, iconv('UTF-8','BIG-5',$destination))) {
remositoryFile.php
297行
if ($extensiontitle) $this->filetitle = iconv('BIG-5','UTF-8',$physical->proper_name);
572行
$this->realname = iconv('BIG-5','UTF-8',$physicalFile->proper_name);
另外下載的這個部分,資料庫中是用UTF-8編碼,而下載中文需要用BIG-5,因此需要做轉換。
joomla目錄\components\com_remository\c-classes中的remository_download_Controller.php
remository_download_Controller.php
133行
$downpath = iconv('UTF-8','BIG-5',$fileinfo->filePath());
165行
$displayname = iconv('UTF-8','BIG-5',$fileinfo->realname);
搜尋此網誌
2009年3月27日 星期五
訂閱:
張貼留言 (Atom)
熱門文章
-
即時串流通信協定 ( Real Time Streaming Protocol , RTSP) 是應用層的通訊協定,定義在 RFC 2326 規範中,RTSP 是用來控制具有即時與同步特性的資料,如音訊和視訊的媒體,資料來源包含現場即時轉播和儲存的片段剪輯,媒體資料與控制資料是...
-
對於想接觸 電力電子 (Power Electronics) 這個領域的學生來說,會有不知道該如何著手的問題,我也遇過,總希望有人可以跟你講,這篇文章提供給大家參考,電力電子領域當中有幾本極為重要的 經典著作 (Classic) ,很多學校都是用這些書籍當作教科書,問題是如果...
-
形態學影像處理 (Morphological Image Processing),依據 Gonzalez與Woods的書本上說明\:影像處理的形態學是依據 數學形態學 ( Mathematical Morphology , MM)的應用之一,並且是以數學理論為運算的基礎(集合理論...
-
One picture is worth more than ten thousand words. (A picture is worth a thousand words.) 今天介紹 數位影像處理(Digital Image Processing) 的聖經,這本書是在...
-
今天跟大家介紹的不是什麼專業技術,而是健康知識!Why?因為 疱疹(Herpes) 這種疾病可能是工程師會得到的常見疾病,而且沒有藥可以治癒,唯一的解藥是你自己的免疫與抵抗力。病發原因主要是:熬夜、疲勞、壓力大、睡眠不足、抵抗力差時才會發生疱疹。(這不是現在RD的情形嗎...)...
-
談談 元件物件模型 ( Component Object Model, COM) 這個主題吧!前一陣子都在研究 DirectShow,常常看到 COM 這個關鍵字。由於最近才變成 Windows 程式開發人員所以不熟悉 COM,趁此機會好好研究一番吧! 請注意: COM 是一...
-
subprocess 是 Python 程式語言中用來新增子行程的模組,這是在 PEP 324 中所提出的建議,主要是統一 Python 新增子行程的方法,用來取代 os.system, os.spawn*, os.popen*, popen2.*, commands.* ...
-
起因於"大話設計模式"一書,我將重新學習 Design Pattern (設計模式)這項觀念,對於 資訊工程 類科的學生可能不陌生,但是對於一直都主修 電機工程 (Electrical Engineering, EE) 的我而言是不熟悉的觀念,雖然說現在 E...
-
人月神話之外,另一本軟體開發管理的經典著作! 與大家介紹一下這本「 約耳趣談軟體:來自專案管理的現場實錄 (Joel on Software) 」,當我買了之後閱讀,才發現所有的文章(不知道是不是全部)在網站上都有( Joel on Software Translation ...
-
NSIS (Nullsoft Scriptable Install System) 是一套建置 Windows 安裝程式 (installers) 的開源軟體,用來將程式或文件打包成一個執行檔給客戶安裝使用。NSIS 採用腳本 (Script) 的方式建置 Windows 安裝...
沒有留言:
張貼留言