Demo

討論

保持飢餓,保持愚笨 (Stay hungry, stay foolish)。 史蒂夫·賈伯斯

公告

本網站已取消討論區的討論方式,如果您有問題請至LINE群行動條碼圖片網址,或Facebook社團

[分享] Easybook Reloaded 2.0.6 中文字在自動斷行中會出亂碼解決

  • NidgetGod
  • NidgetGod 的個人頭像 Topic Author
  • Offline
  • 中級會員
  • 中級會員
More
2010-09-08 15:10 #18842 來自 NidgetGod
NidgetGod created the topic: [分享] Easybook Reloaded 2.0.6 中文字在自動斷行中會出亂碼解決
我的環境是在 utf8 底下,所以以下改法並不適用在 big5 環境中

但邏輯相同,稍作修改一樣能在 big5 環境下使用

請先到 http://www.pigo.idv.tw/redmine/projects/big5-func/repository/show/tags 下載 big5_func

這裡我用的是 big5_func-0.24.tar.gz

將它解壓縮後放到 libraries 資料夾底下並將
libraries/big5_func/big5_func.inc

的檔名改成
libraries/big5_func/big5_func.php

然後開啟編輯
components/com_easybookreloaded/helpers/content.php

jimport('joomla.application.component.helper');

底下加一段
jimport( 'big5_func.big5_func' );

像這樣
// Component Helper
jimport('joomla.application.component.helper');
jimport( 'big5_func.big5_func' );

class EasybookReloadedHelperContent

接着找到
$words[$i] = wordwrap($words[$i], $size, "\n", 1);

將其註解後加一段
$words[$i] = big5_utf8_encode( big5_chunk_split(big5_utf8_decode($words[$i], $size, "\n")) );

像這樣
if (strlen($words[$i]) > $size)
			{
				//$words[$i] = wordwrap($words[$i], $size, "\n", 1);
				$words[$i] = big5_utf8_encode( big5_chunk_split(big5_utf8_decode($words[$i], $size, "\n")) );
			}

儲存後元件的部份就結束了

如果有安裝 EasyBook Reloaded Latest Entries 模組就繼續改下去

開啟編輯
modules/mod_ebrlatestentries/helper.php

defined('_JEXEC') or die('Restricted access');

底下加一段
jimport( 'big5_func.big5_func' );

像這樣
// no direct access
defined('_JEXEC') or die('Restricted access');
jimport( 'big5_func.big5_func' );

class modEBRLatestEntries

接著找到
$posts[$i]['gbtext'] = mb_substr($posts[$i]['gbtext'], 0, $length);

將其註解並在底下加一段
$posts[$i]['gbtext'] = big5_utf8_encode( big5_substr(big5_utf8_decode($posts[$i]['gbtext']), 0, $length) );

像這樣
if (strlen($posts[$i]['gbtext']) > $length)
			{
				//$posts[$i]['gbtext'] = mb_substr($posts[$i]['gbtext'], 0, $length);
				$posts[$i]['gbtext'] = big5_utf8_encode( big5_substr(big5_utf8_decode($posts[$i]['gbtext']), 0, $length) );
				$posts[$i]['gbtext'] .= '...';
			}

接着找到
$words[$j] = wordwrap($words[$j], $length, "\n",1);

將其註解並在底下加一段
$words[$j] = big5_utf8_encode( big5_chunk_split(big5_utf8_decode($words[$j], $length, "\n")) );

像這樣
if (strlen($words[$j]) > $length)
				{
					//$words[$j] = wordwrap($words[$j], $length, "\n",1);
					$words[$j] = big5_utf8_encode( big5_chunk_split(big5_utf8_decode($words[$j], $length, "\n")) );
				}

儲存後就完成啦。

Please 登入 to join the conversation.