* Patch from Recai Oktaş to improve utf-8 support, it should now use proper
utf-8 for edit and other fields, and for recentchanges. There may still be utf-8 issues with the preferences page though.master
parent
2af87dea6c
commit
2ce6d15b8b
|
@ -43,7 +43,8 @@ sub cgi_recentchanges ($) { #{{{
|
||||||
styleurl => styleurl(),
|
styleurl => styleurl(),
|
||||||
baseurl => "$config{url}/",
|
baseurl => "$config{url}/",
|
||||||
);
|
);
|
||||||
print $q->header, $template->output;
|
require Encode;
|
||||||
|
print $q->header(-charset=>'utf-8'), Encode::decode_utf8($template->output);
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub cgi_signin ($$) { #{{{
|
sub cgi_signin ($$) { #{{{
|
||||||
|
@ -55,6 +56,7 @@ sub cgi_signin ($$) { #{{{
|
||||||
title => "signin",
|
title => "signin",
|
||||||
fields => [qw(do title page subpage from name password confirm_password email)],
|
fields => [qw(do title page subpage from name password confirm_password email)],
|
||||||
header => 1,
|
header => 1,
|
||||||
|
charset => "utf-8",
|
||||||
method => 'POST',
|
method => 'POST',
|
||||||
validate => {
|
validate => {
|
||||||
confirm_password => {
|
confirm_password => {
|
||||||
|
@ -172,7 +174,7 @@ sub cgi_signin ($$) { #{{{
|
||||||
$form->field(name => "confirm_password", type => "hidden");
|
$form->field(name => "confirm_password", type => "hidden");
|
||||||
$form->field(name => "email", type => "hidden");
|
$form->field(name => "email", type => "hidden");
|
||||||
$form->text("Registration successful. Now you can Login.");
|
$form->text("Registration successful. Now you can Login.");
|
||||||
print $session->header();
|
print $session->header(-charset=>'utf-8');
|
||||||
print misctemplate($form->title, $form->render(submit => ["Login"]));
|
print misctemplate($form->title, $form->render(submit => ["Login"]));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -202,12 +204,12 @@ sub cgi_signin ($$) { #{{{
|
||||||
|
|
||||||
$form->text("Your password has been emailed to you.");
|
$form->text("Your password has been emailed to you.");
|
||||||
$form->field(name => "name", required => 0);
|
$form->field(name => "name", required => 0);
|
||||||
print $session->header();
|
print $session->header(-charset=>'utf-8');
|
||||||
print misctemplate($form->title, $form->render(submit => ["Login", "Register", "Mail Password"]));
|
print misctemplate($form->title, $form->render(submit => ["Login", "Register", "Mail Password"]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print $session->header();
|
print $session->header(-charset=>'utf-8');
|
||||||
print misctemplate($form->title, $form->render(submit => ["Login", "Register", "Mail Password"]));
|
print misctemplate($form->title, $form->render(submit => ["Login", "Register", "Mail Password"]));
|
||||||
}
|
}
|
||||||
} #}}}
|
} #}}}
|
||||||
|
@ -222,6 +224,7 @@ sub cgi_prefs ($$) { #{{{
|
||||||
fields => [qw(do name password confirm_password email
|
fields => [qw(do name password confirm_password email
|
||||||
subscriptions locked_pages)],
|
subscriptions locked_pages)],
|
||||||
header => 0,
|
header => 0,
|
||||||
|
charset => "utf-8",
|
||||||
method => 'POST',
|
method => 'POST',
|
||||||
validate => {
|
validate => {
|
||||||
confirm_password => {
|
confirm_password => {
|
||||||
|
@ -281,7 +284,7 @@ sub cgi_prefs ($$) { #{{{
|
||||||
$form->text("Preferences saved.");
|
$form->text("Preferences saved.");
|
||||||
}
|
}
|
||||||
|
|
||||||
print $session->header();
|
print $session->header(-charset=>'utf-8');
|
||||||
print misctemplate($form->title, $form->render(submit => \@buttons));
|
print misctemplate($form->title, $form->render(submit => \@buttons));
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
|
@ -293,6 +296,7 @@ sub cgi_editpage ($$) { #{{{
|
||||||
my $form = CGI::FormBuilder->new(
|
my $form = CGI::FormBuilder->new(
|
||||||
fields => [qw(do rcsinfo subpage from page editcontent comments)],
|
fields => [qw(do rcsinfo subpage from page editcontent comments)],
|
||||||
header => 1,
|
header => 1,
|
||||||
|
charset => "utf-8",
|
||||||
method => 'POST',
|
method => 'POST',
|
||||||
validate => {
|
validate => {
|
||||||
editcontent => '/.+/',
|
editcontent => '/.+/',
|
||||||
|
@ -414,7 +418,8 @@ sub cgi_editpage ($$) { #{{{
|
||||||
! length $form->field('editcontent')) {
|
! length $form->field('editcontent')) {
|
||||||
my $content="";
|
my $content="";
|
||||||
if (exists $pagesources{lc($page)}) {
|
if (exists $pagesources{lc($page)}) {
|
||||||
$content=readfile(srcfile($pagesources{lc($page)}));
|
require Encode;
|
||||||
|
$content=Encode::decode_utf8(readfile(srcfile($pagesources{lc($page)})));
|
||||||
$content=~s/\n/\r\n/g;
|
$content=~s/\n/\r\n/g;
|
||||||
}
|
}
|
||||||
$form->field(name => "editcontent", value => $content,
|
$form->field(name => "editcontent", value => $content,
|
||||||
|
@ -445,7 +450,8 @@ sub cgi_editpage ($$) { #{{{
|
||||||
}
|
}
|
||||||
if (defined $form->field('comments') &&
|
if (defined $form->field('comments') &&
|
||||||
length $form->field('comments')) {
|
length $form->field('comments')) {
|
||||||
$message.=": ".$form->field('comments');
|
require Encode;
|
||||||
|
$message.=Encode::decode_utf8(": ".$form->field('comments'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($config{rcs}) {
|
if ($config{rcs}) {
|
||||||
|
|
|
@ -29,13 +29,10 @@ sub htmlize ($$) { #{{{
|
||||||
$blosxom::version="is a proper perl module too much to ask?";
|
$blosxom::version="is a proper perl module too much to ask?";
|
||||||
use warnings 'all';
|
use warnings 'all';
|
||||||
do "/usr/bin/markdown";
|
do "/usr/bin/markdown";
|
||||||
require Encode;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type eq '.mdwn') {
|
if ($type eq '.mdwn') {
|
||||||
# Markdown does character based stuff that does not work
|
$content=Markdown::Markdown($content);
|
||||||
# well with utf-8 strings.
|
|
||||||
$content=Encode::decode_utf8(Markdown::Markdown(Encode::encode_utf8($content)));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
error("htmlization of $type not supported");
|
error("htmlization of $type not supported");
|
||||||
|
|
|
@ -28,8 +28,11 @@ ikiwiki (1.5) UNRELEASED; urgency=low
|
||||||
* Doc updates for git.
|
* Doc updates for git.
|
||||||
* Fix absolute url munging in rss generation to support https, ftp, etc urls
|
* Fix absolute url munging in rss generation to support https, ftp, etc urls
|
||||||
not just http urls.
|
not just http urls.
|
||||||
|
* Patch from Recai Oktaş to improve utf-8 support, it should now use proper
|
||||||
|
utf-8 for edit and other fields, and for recentchanges. There may still
|
||||||
|
be utf-8 issues with the preferences page though.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Thu, 8 Jun 2006 02:05:57 -0400
|
-- Joey Hess <joeyh@debian.org> Sun, 11 Jun 2006 14:48:41 -0400
|
||||||
|
|
||||||
ikiwiki (1.4) unstable; urgency=low
|
ikiwiki (1.4) unstable; urgency=low
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue