summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-10-19 21:23:48 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-10-19 21:23:48 -0400
commit423fae6f18853bfaa08f647e7e4d10b7587738e0 (patch)
tree031b155706efeba04a0782a00dc7d4183fc24842
parent3e992b758b0d7e96f369372340b95d8ef4302aae (diff)
Use the pure perl Data::Dumper when generating setup files to ensure that utf-8 characters are written out as such, and not as the encoded perl strings the C Data::Dumper produces.
Note that the text produced by the C version was interpreted fine when ikiwiki loaded the setup file. But it was not user-friendly.
-rw-r--r--IkiWiki/Setup/Standard.pm2
-rw-r--r--debian/changelog3
-rw-r--r--doc/bugs/unicode_chars_in_wikiname_break_auth.mdwn4
3 files changed, 8 insertions, 1 deletions
diff --git a/IkiWiki/Setup/Standard.pm b/IkiWiki/Setup/Standard.pm
index 92f887f0c..e6bff2826 100644
--- a/IkiWiki/Setup/Standard.pm
+++ b/IkiWiki/Setup/Standard.pm
@@ -26,6 +26,8 @@ sub dumpline ($$$$) { #{{{
local $Data::Dumper::Pad="\t";
local $Data::Dumper::Sortkeys=1;
local $Data::Dumper::Quotekeys=0;
+ # only the perl version preserves utf-8 in output
+ local $Data::Dumper::Useperl=1;
my $dumpedvalue;
if (($type eq 'boolean' || $type eq 'integer') && $value=~/^[0-9]+$/) {
diff --git a/debian/changelog b/debian/changelog
index 352329f94..e53799306 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,9 @@ ikiwiki (2.68) UNRELEASED; urgency=low
formatted time.
* Fix issue with utf-8 in wikiname breaking session cookies, by
entity-encoding the wikiname in the session cookie.
+ * Use the pure perl Data::Dumper when generating setup files to ensure that
+ utf-8 characters are written out as such, and not as the encoded perl
+ strings the C Data::Dumper produces.
-- Joey Hess <joeyh@debian.org> Fri, 17 Oct 2008 20:11:02 -0400
diff --git a/doc/bugs/unicode_chars_in_wikiname_break_auth.mdwn b/doc/bugs/unicode_chars_in_wikiname_break_auth.mdwn
index 7c71ff0ff..5d5e90f7a 100644
--- a/doc/bugs/unicode_chars_in_wikiname_break_auth.mdwn
+++ b/doc/bugs/unicode_chars_in_wikiname_break_auth.mdwn
@@ -9,6 +9,8 @@ Replacing "ยท" with "-" in `wikiname` fixed this login issue.
> the wikiname. But it doesn't seem to work, somehow the encoded utf-8
> value still doesn't make it through. (CGI::Session seems to have underermined utf-8
> issues too.) Seems like I will have to possibly break some sessions and
-> entity-encode the wikiname in the cookie.. done. --[[Joey]]
+> entity-encode the wikiname in the cookie.. [[done]]. --[[Joey]]
(BTW, such a char was replaced by -I don't remember what encoding thingie- in my setup file, when running `ikiwiki-transition setupformat`.)
+
+> Thanks for the heads up, fixed that too. --[[Joey]]