Pligg beta9.7升级到pligg beta 9.8过程遇到的(中文支持)问题解决

Pligg beta9.7升级到pligg beta 9.8过程遇到的(中文支持)问题解决

from:http://blog.csdn.net/clin003/archive/2007/09/14/1784521.aspx

刚升级完会出现乱码(比如很多问号),这因该是升级前没有修改/libs/db.php文件中数据库连接限定连接字符集导致(如果默认的数据库连接就为utf8的就不会出现问题,这个主要跟空间商的mysql有关。)
下边说具体需要做什么:
我的因为没有做的很好,升级心切解决数据丢失!!,这次留个教训下次一定要在测试站点上测试后在做进一步活动,希望其它朋友在升级前也做好备份准备(这个pligg备份不知道怎么了,数据库恢复不了!老提示重复复制什么!提示忘掉啦,再试试吧)

并且这次决定不去汉化前台显示啦,直接使用英文的站,只是修改支持中文的功能,不再做表面工作。
by clin003 at 20070914 from:http://clin003.com/或http://blog.csdn.net/clin003/

1,升级办法我就不说啦在readme文件中说的很详细啦
2,升级前基本的注意事项(readme文档中提到的)我就不说啦
2,升级前推荐修改/libs/db.php
这个可以参考9.7中修改办法:http://blog.csdn.net/clin003/archive/2007/08/16/1745853.aspx
大致在:202行回车添加代码

$dbcharset=utf8;
mysql_query(SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary);

这部分添加后的样子是这样的:

if ( ! isset($this->dbh) || ! $this->dbh )
{
$this->connect($this->dbuser, $this->dbpassword, $this->dbhost);
$dbcharset=utf8;
mysql_query(SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary);
$this->select($this->dbname);
}

这是解决中文文章乱码问题。

—————————-
另外一个问题是:9.8升级后查看文章内容后,在Pligg beta 9 Home » About i0Day »后便显示的文章标题会变成乱码的

这个解决办法目前我就知道一个:
这个问题的解决办法参考自:http://forums.pligg.com/bug-report/8793-chinese-characters-bug.html

打开/libs/html1.php在大致124行找到函数function do_sidebar($var_smarty)使用9.7中的相应函数替换即可。
替换前的9.8的样子是这样的:

function do_sidebar($var_smarty) {
// show the categories in the sidebar
global $db, $dblang, $globals, $the_cats, $navwhere;

// fix for ‘undefined index’ errors
if(!isset($navwhere[text4])){$navwhere[text4] = ;}else{$navwhere[text4] = htmlentities($navwhere[text4]);}
if(!isset($navwhere[text3])){$navwhere[text3] = ;}else{$navwhere[text3] = htmlentities($navwhere[text3]);}
if(!isset($navwhere[text2])){$navwhere[text2] = ;}else{$navwhere[text2] = htmlentities($navwhere[text2]);}
if(!isset($navwhere[text1])){$navwhere[text1] = ;}else{$navwhere[text1] = htmlentities($navwhere[text1]);}
if(!isset($navwhere[link4])){$navwhere[link4] = ;}
if(!isset($navwhere[link3])){$navwhere[link3] = ;}
if(!isset($navwhere[link2])){$navwhere[link2] = ;}
if(!isset($navwhere[link1])){$navwhere[link1] = ;}
$var_smarty->assign(navbar_where, $navwhere);

$var_smarty->assign(body_args, );
// fix for ‘undefined index’ errors

$_caching = $var_smarty->cache; // get the current cache settings
$var_smarty->cache = true; // cache has to be on otherwise is_cached will always be false
$var_smarty->cache_lifetime = 1; // lifetime has to be set to something otherwise is_cached will always be false
$thetpl = $var_smarty->get_template_vars(the_template_sidebar_modules) . /categories.tpl;

// check to see if the category sidebar module is already cached
// if it is, use it


if(isset($_REQUEST[category])){
$thecat = sanitize($_REQUEST[category], 3);
}
else{
$thecat = ;
}
if ($var_smarty->is_cached($thetpl, sidebar|category|.$thecat)) {
$var_smarty->assign(cat_array, x); // this is needed. sidebar.tpl won’t include the category module if cat_array doesnt have some data
}else{
if(isset($_REQUEST[category])){$thecat = $db->get_var(SELECT category_name FROM . table_categories . WHERE `category_safe_name` = ‘.urlencode(sanitize($_REQUEST[category], 1)).‘;);}

if(!empty($_REQUEST[id])) {
$doing_story=true;
}
else {
$doing_story=false;
}

$var_smarty->assign(UrlMethod, urlmethod);

foreach($the_cats as $cat){
if($cat->category_id == $thecat && $cat->category_lang == $dblang && $cat->category_parent == 0)
{
$globals[category_id] = $cat->category_id;
$globals[category_name] = $cat->category_name;
}
}

$pos = strrpos($_SERVER[SCRIPT_NAME], /);
$script_name = substr($_SERVER[SCRIPT_NAME], $pos + 1, 100);
$script_name = str_replace(.php, “”, $script_name);

include_once(dbtree.php);
$array = tree_to_array(0, table_categories);
$var_smarty->assign(lastspacer, 0);
$var_smarty->assign(cat_array, $array);

// use the ‘totals’ table now
$published_count = get_story_count(published);

$var_smarty->assign(published_count, $published_count);
$categories = mysql_query(select *, count(*) as count from . table_links . , . table_categories . where category_lang=’$dblang’ and category_id=link_category group by link_category ORDER BY category_name ASC);

$categorylist = array();
while ($rows = mysql_fetch_array ($categories, MYSQL_ASSOC)) array_push ($categorylist, $rows);
$var_smarty->assign(categorylist, $categorylist);
$var_smarty->assign(category_url, getmyurl(maincategory));

}

$var_smarty->cache = $_caching; // set cache back to original value

check_actions(
do_sidebar);

return $var_smarty;
}

替换后的为9.7中的对应函数样子是这样的:

function do_sidebar($var_smarty) {
// show the categories in the sidebar
global $db, $dblang, $globals, $the_cats;

$_caching = $var_smarty->cache; // get the current cache settings
$var_smarty->cache = true; // cache has to be on otherwise is_cached will always be false
$var_smarty->cache_lifetime = 1; // lifetime has to be set to something otherwise is_cached will always be false
$thetpl = $var_smarty->get_template_vars(the_template_sidebar_modules) . /categories.tpl;

// check to see if the category sidebar module is already cached
// if it is, use it


if(isset($_REQUEST[category])){
$thecat = sanitize($_REQUEST[category], 3);
}
else{
$thecat = ;
}
if ($var_smarty->is_cached($thetpl, sidebar|category|.$thecat)) {
$var_smarty->assign(cat_array, x); // this is needed. sidebar.tpl won’t include the category module if cat_array doesnt have some data
}else{
if(isset($_REQUEST[category])){$thecat = $db->get_var(SELECT category_name FROM . table_categories . WHERE `category_safe_name` = ‘.urlencode(sanitize($_REQUEST[category], 1)).‘;);}

if(!empty($_REQUEST[id])) {
$doing_story=true;
}
else {
$doing_story=false;
}

$var_smarty->assign(UrlMethod, urlmethod);

foreach($the_cats as $cat){
if($cat->category_id == $thecat && $cat->category_lang == $dblang && $cat->category_parent == 0)
{
$globals[category_id] = $cat->category_id;
$globals[category_name] = $cat->category_name;
}
}

$pos = strrpos($_SERVER[SCRIPT_NAME], /);
$script_name = substr($_SERVER[SCRIPT_NAME], $pos + 1, 100);
$script_name = str_replace(.php, “”, $script_name);

include_once(dbtree.php);
$array = tree_to_array(0, table_categories);
$var_smarty->assign(lastspacer, 0);
$var_smarty->assign(cat_array, $array);

// use the ‘totals’ table now
$published_count = get_story_count(published);

$var_smarty->assign(published_count, $published_count);
$categories = mysql_query(select *, count(*) as count from . table_links . , . table_categories . where category_lang=’$dblang’ and category_id=link_category group by link_category ORDER BY category_name ASC);

$categorylist = array();
while ($rows = mysql_fetch_array ($categories, MYSQL_ASSOC)) array_push ($categorylist, $rows);
$var_smarty->assign(categorylist, $categorylist);
$var_smarty->assign(category_url, getmyurl(maincategory));

}

$var_smarty->cache = $_caching; // set cache back to original value

check_actions(
do_sidebar);

return $var_smarty;
}

245 Replies to “Pligg beta9.7升级到pligg beta 9.8过程遇到的(中文支持)问题解决”

  1. I see your site needs some fresh & unique articles.
    Writing manually is time consuming, but there is
    solution for this. Just search for; Masquro’s strategies

  2. Howeᴠer, these anti-aging skin care treatments are not as effective vitаmin C based products,
    although vitamin E and lipoic acid are also anti-oxidants and have similar
    effects. So, with the sսmmer sun in North Texas ƅeginning to make itself a
    factor in your daily routine, what should you do to protect
    your skin. Ꮤe all know that thе sea wind and strong ѕunshine will bring
    the harms to the skin.

  3. What’s Taking place i am new to this, I stumbled upon this I have discovered It absolutely helpful and it has helped me out loads.
    I hope to contribute & help different customers like its helped
    me. Great job.

  4. Piece of writing writing is also a excitement, if you be
    acquainted with then you can write or else it is complicated to write.

  5. You will know that this has happened because when you open the jar it will “puff” and bubbles will
    appear in the oil. We have seen how important lubricating oil is to an engine;.
    Using too much shampoo and too little conditioner
    can make your scalp dry and your hair limp.

  6. Greetings from Carolina! I’m bored at work so I decided to check out your website
    on my iphone during lunch break. I love the info you present
    here and can’t wait to take a look when I get home. I’m amazed at how fast your blog loaded on my mobile
    .. I’m not even using WIFI, just 3G .. Anyhow,
    good site!

  7. Excellent post. I was checking continuously this blog
    and I’m impressed! Very useful info specially the last part 🙂 I care for such information a
    lot. I was looking for this certain information for a long
    time. Thank you and good luck.

    1. Ar;ne#39&t you surprised lefty bloggers didn't sign on?For example, someone like Jane Hamsher will never vote for Obama, so why would blogger like her decline to sign the petition?

  8. Morgan announced a strategic partnership with On – Deck Capital,
    an alternative lending company, to originate, underwrite, and distribute loaqns that are targeted specifically
    at smll businesses. The total material for ann exam wiill surely be so immense that a single person might not be read it all in years.
    This is because such bar code labels hzve both machine- aand human-readable identifiers.

  9. Remarkable issues here. I’m very happy to see your post.
    Thank you so much and I am taking a look ahead to touch you.

    Will you kindly drop me a mail?

  10. Imagine how effective that practice would be in the event
    of a leaking hydraulic pipe at 4000 psi spraying onto an incandescent surface.
    But, let me tell you, designing a good e-book’s cover yourself is not a problem now.

    56 percent of those he talked to found their jobs through a personal connection.

Comments are closed.