Closed Bug 395505 Opened 17 years ago Closed 16 years ago

Fields with Chinese (and presumably other UTF-8 characters) are garbled in forms on localized web pages

Categories

(Bugzilla :: Bugzilla-General, defect)

3.0.1
defect
Not set
major

Tracking

()

RESOLVED FIXED
Bugzilla 3.2

People

(Reporter: michael.friedman, Assigned: mkanat)

References

Details

(Keywords: intl, Whiteboard: [fixed by blocker])

Attachments

(5 files, 2 obsolete files)

User-Agent:       Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; (R1 1.5); .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Build Identifier: 3.0.1 - downloaded production version

1.  Create a localized version of Bugzilla
2.  Add a Field name (ie. a Component) with a Chinese character in it
3.  Display in the default language - no problem
4.  Change your IE prefs to display in the localized version - Chinese characters in forms are garbled
5.  Note that Chinese characters in localized text are fine
6.  Display for all pages is UTF-8 in all versions

----------------

This problem makes the localized version totally unusable because Bugzilla rather strangely sends the values in the select list to the server instead of an internal ID.  That means the Component or other list value is not recognized when you submit the form.

Reproducible: Always

Steps to Reproduce:
Explained above
Actual Results:  
Explained above

Expected Results:  
Chinese characters in select lists should be displayed without any problem

Note:  If you are using Chinese (and presumably also Korean, Japanese, Thai, or other language that depend on UTF-8) this is a major problem.

No one else should care.

I consider it major... but 90% of our Bugzilla users are in China... I understand that's not everyone's situation.
Look at the Chinese in the list of Components - this is fine.
Note the Chinese text in the list of components - it is trashed
OS: Windows 2000 → Windows Server 2003
Version: unspecified → 3.0.1
I'm not sure that's a bug in Bugzilla. Bugzilla 3.0 is currently translated in 4 languages (english, german, french and russian), and we don't see such problems. Are you sure the 'utf8' parameter on your installation is turned on? Then all pages should be displayed with the UTF8 encoding, which is independent of your localization.
1. All pages are displayed in UTF8.  And boilerplate in Chinese comes out fine.  It is only the form field values that get trashed.

2.  It's always possible that we somehow screwed up and have a GB database, etc.  So I tested... creating the following bug.

--------------------------------------
संस्कृत - Sanskrit
中文 - Chinese
Легендарный тренин - Cyrillic
--------------------------------------

That's what I see when I review the bug after entering it - no problem... it works.  So this is a successfully installed and configured UTF-8 system.

There is no other character set I know of that supports English, Simplified Chinese, Devanagari, and Cyrillic.
Hey Michael. That's pretty odd. Could you attach the output of checksetup.pl (just so I can see all your module versions and so forth)?

Also, were you intending to publicly post the email addresses of everybody in your entire company? (They're in both attachments, because of the usemenuforusers.)
Clearly I am not as think as I smart I am.

How can I delete the obsolete attachments?
(In reply to comment #8)
> How can I delete the obsolete attachments?

  You can email bugzilla-admin [at] mozilla.org and ask them to do it and explain why.
Thanks for helping me avoid the consequences of my mistake.
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

Here is the checksetup.pl output.

▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓


D:\bugzilla-3.0>.\checksetup.pl

* This is Bugzilla 3.0.1 on perl 5.8.8
* Running on Win2003 Build 3790 (Service Pack 1)

Checking perl modules...
Checking for             CGI (v2.93)   ok: found v3.20
Checking for        TimeDate (v2.21)   ok: found v2.22
Checking for             DBI (v1.41)   ok: found v1.56
Checking for       PathTools (v0.84)   ok: found v3.12
Checking for Template-Toolkit (v2.12)   ok: found v2.15
Checking for      Email-Send (v2.16)   ok: found v2.183
Checking for Email-MIME-Modifier (any)     ok: found v1.441

Checking available perl DBD modules...
Checking for          DBD-Pg (v1.45)    not found
Checking for       DBD-mysql (v2.9003) ok: found v3.0002

The following Perl modules are optional:
Checking for              GD (v1.20)   ok: found v2.35
Checking for     Template-GD (any)     ok: found v1.56
Checking for           Chart (v1.0)    ok: found v2.3
Checking for         GDGraph (any)     ok: found v1.44
Checking for      GDTextUtil (any)     ok: found v0.86
Checking for        XML-Twig (any)     ok: found v3.26
Checking for      MIME-tools (v5.406)  ok: found v5.417
Checking for     libwww-perl (any)     ok: found v2.033
Checking for     PatchReader (v0.9.4)  ok: found v0.9.5
Checking for      PerlMagick (any)     ok: found v6.2.8
Checking for       perl-ldap (any)     ok: found v0.34
Checking for       SOAP-Lite (any)     ok: found v0.55
Checking for     HTML-Parser (v3.40)   ok: found v3.56
Checking for   HTML-Scrubber (any)     ok: found v0.08
Checking for Email-MIME-Attachment-Stripper (any)     ok: found v1.3
Checking for     Email-Reply (any)     ok: found v1.200
Checking for        mod_perl (v1.999022) ok: found v2.000003
Checking for             CGI (v3.11)   ok: found v3.20
Checking for      Apache-DBI (v0.96)   ok: found v1.06
Reading ./localconfig...

OPTIONAL NOTE: If you want to be able to use the 'difference between two
patches' feature of Bugzilla (which requires the PatchReader Perl module
as well), you should install patchutils from:

    http://cyberelk.net/tim/patchutils/

Checking for       DBD-mysql (v2.9003) ok: found v3.0002
Checking for           MySQL (v4.1.2)  ok: found v5.0.41-community-nt

Removing existing compiled templates ...
Precompiling templates...
Checking for        GraphViz (any)     ok: found
Michael, you didn't answer the question yet whether your Bugzilla's utf8 parameter is turned on. If it is not, then you're probably seeing your browser's character set encoding auto-detection magic when the forms are displayed correctly on pages displayed with the default localization.
Try rebuilding Template-Toolkit without the XS Stash and see if that helps. Or alternately, you could first try upgrading to the latest Template-Toolkit and if that doesn't work, try rebuilding without the XS Stash.
Marc, the UTF8 pareameter is turned on.

Obviously, there was a concern that the parameter had been set but that somehow we did not have a UTF8 system.  So I tested by putting in UTF8 data.  My understanding is that unless the system was UTF8 I would have gotten trash... but it worked.

>If it is not, then you're probably seeing your
>browser's character set encoding auto-detection magic when the forms are
>displayed correctly on pages displayed with the default localization.

Please look at the bad attachment.  Chinese boilerplate comes out fine.  Browser autodetection magic can't make boilerplate work while form fields don't, at least as far as I understand it.
(In reply to comment #12)
> Try rebuilding Template-Toolkit without the XS Stash and see if that helps. Or
> alternately, you could first try upgrading to the latest Template-Toolkit and
> if that doesn't work, try rebuilding without the XS Stash.

Max,

You're asking us to go beyond our skill sets here - we don't do any work in Perl in this company and since it has never taken off in China we don't have anyone with any experience in it.

If you can give more detailed instructions we can try.

Alternatively, if you have a latest development version of Bugzilla available for testing I would be happy to help you create a test case in it.

Hey Michael. I really do suspect that you're not encountering a bug in Bugzilla at all, but a bug in Template Toolkit. What you need to do on the server, as root, is:

perl -MCPAN -eshell

This will bring up the CPAN shell. Then you do:

install Template

And when it asks you about the XS Stash, just say "n".
OK... we will need to try this later - need to make sure we have a full backup, etc. before doing this.
The content of attachment 280170 [details] has been deleted by
    Dave Miller <justdave@bugzilla.org>
who provided the following reason:

Uploader request - accidently contains confidential data

The token used to delete this attachment was generated at 2007-09-09 16:51:47 PDT.
The content of attachment 280172 [details] has been deleted by
    Dave Miller <justdave@bugzilla.org>
who provided the following reason:

Uploader request - accidently contains confidential data

The token used to delete this attachment was generated at 2007-09-09 16:52:20 PDT.
I have the same issue.
Both bugzilla and mysql database use UTF-8 encoding.
 mysql> show variables like 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
The phpmyadmin works fine with the bugzilla database.
The UTF8 pareameter is turned on.
All pages do not have garbled text except the text stored in the database.

For example,I create a user with the realname "测试用户",the UTF-8 encoding of Chinese character "测试用户" is "B2 E2 CA D4 D3 C3 BB A7", when I visit the page(UTF-8) http://.../userprefs.cgi?tab=account,the text of realname field is garbled,but the other texts on the page are fine.
The UTF-8 encoding of the garbled text becomes "C3 A6 C2 B5 C2 8B C3 A8 C2 AF C2 95 C3 A7 C2 94 C2 A8 C3 A6 C2 88 C2 B7"

When I save the page(IE6,"File"-"Save as") and choose the encoding "lantin ISO", then open the saved page,choose encoding "UTF-8",ha,there are no garbled texts in the page! Both the Chinese character in the page and the field with Chinese are fine!

So,I think there may be a mistake taken by bugzilla. It converts the char encoding from UTF-8 to latin after query the text from the database.
When I view a bug with Chinese Character in the bugzilla using XML or iCalendar format, no garbled texts in the .xml or .ics files.
But CSV format(.csv) file have the garbled.
(In reply to comment #15)
> Hey Michael. I really do suspect that you're not encountering a bug in Bugzilla
> at all, but a bug in Template Toolkit. What you need to do on the server, as
> root, is:
> perl -MCPAN -eshell
> This will bring up the CPAN shell. Then you do:
> install Template
> And when it asks you about the XS Stash, just say "n".

This does not seem to have worked... got errors.
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
D:\bugzilla-3.0\Bugzilla>perl -MCPAN -eshell

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support enabled


cpan> install Template
CPAN: Storable loaded ok
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
  http://ppm.activestate.com/CPAN/authors/01mailrc.txt.gz
Going to read D:\Perl\cpan\sources\authors\01mailrc.txt.gz
Fetching with LWP:
  http://ppm.activestate.com/CPAN/modules/02packages.details.txt.gz
Going to read D:\Perl\cpan\sources\modules\02packages.details.txt.gz
  Database was generated on Wed, 19 Sep 2007 10:36:34 GMT

  There's a new CPAN.pm version (v1.9102) available!
  [Current version is v1.7602]
  You might want to try
    install Bundle::CPAN
    reload cpan
  without quitting the current session. It should be a seamless upgrade
  while we are running...

Fetching with LWP:
  http://ppm.activestate.com/CPAN/modules/03modlist.data.gz
Going to read D:\Perl\cpan\sources\modules\03modlist.data.gz
Going to write D:\Perl\cpan\Metadata
Running install for module Template
Running make for A/AB/ABW/Template-Toolkit-2.19.tar.gz
Fetching with LWP:
 
http://ppm.activestate.com/CPAN/authors/id/A/AB/ABW/Template-Toolkit-2.19.tar.
gz

..................


Template-Toolkit-2.19/lib/Template/Tools/
Template-Toolkit-2.19/lib/Template/Tools/tpage.pod
Template-Toolkit-2.19/lib/Template/Tools/ttree.pod
Template-Toolkit-2.19/lib/Template/Tutorial/
Template-Toolkit-2.19/lib/Template/Tutorial/Datafile.pod
Template-Toolkit-2.19/lib/Template/Tutorial/Web.pod
Template-Toolkit-2.19/lib/Template/Tutorial.pod
Template-Toolkit-2.19/lib/Template/View.pm
Template-Toolkit-2.19/lib/Template/VMethods.pm
Template-Toolkit-2.19/lib/Template.pm
Template-Toolkit-2.19/Makefile.PL
Template-Toolkit-2.19/MANIFEST
Template-Toolkit-2.19/META.yml
Template-Toolkit-2.19/parser/
Template-Toolkit-2.19/parser/Grammar.pm.skel
Template-Toolkit-2.19/parser/Parser.yp
Template-Toolkit-2.19/parser/README
Template-Toolkit-2.19/parser/yc
Template-Toolkit-2.19/README
Template-Toolkit-2.19/t/
Template-Toolkit-2.19/t/args.t
Template-Toolkit-2.19/t/autoform.t
Template-Toolkit-2.19/t/base.t
Template-Toolkit-2.19/t/binop.t
Template-Toolkit-2.19/t/block.t
Template-Toolkit-2.19/t/blocks.t
Template-Toolkit-2.19/t/capture.t
Template-Toolkit-2.19/t/case.t
Template-Toolkit-2.19/t/cgi.t
Template-Toolkit-2.19/t/chomp.t
Template-Toolkit-2.19/t/compile1.t
Template-Toolkit-2.19/t/compile2.t
Template-Toolkit-2.19/t/compile3.t
Template-Toolkit-2.19/t/compile4.t
Template-Toolkit-2.19/t/compile5.t
Template-Toolkit-2.19/t/config.t
Template-Toolkit-2.19/t/constants.t
Template-Toolkit-2.19/t/context.t
Template-Toolkit-2.19/t/datafile.t
Template-Toolkit-2.19/t/date.t
Template-Toolkit-2.19/t/debug.t
Template-Toolkit-2.19/t/directive.t
Template-Toolkit-2.19/t/directry.t
Template-Toolkit-2.19/t/document.t
Template-Toolkit-2.19/t/dumper.t
Template-Toolkit-2.19/t/error.t
Template-Toolkit-2.19/t/evalperl.t
Template-Toolkit-2.19/t/exception.t
Template-Toolkit-2.19/t/factory.t
Template-Toolkit-2.19/t/file.t
Template-Toolkit-2.19/t/fileline.t
Template-Toolkit-2.19/t/filter.t
Template-Toolkit-2.19/t/foreach.t
Template-Toolkit-2.19/t/format.t
Template-Toolkit-2.19/t/html.t
Template-Toolkit-2.19/t/image.t
Template-Toolkit-2.19/t/include.t
Template-Toolkit-2.19/t/iterator.t
Template-Toolkit-2.19/t/leak.t
Template-Toolkit-2.19/t/lib/
Template-Toolkit-2.19/t/lib/Template/
Template-Toolkit-2.19/t/lib/Template/Plugin/
Template-Toolkit-2.19/t/lib/Template/Plugin/ProcBar.pm
Template-Toolkit-2.19/t/lib/Template/Plugin/ProcFoo.pm
Template-Toolkit-2.19/t/list.t
Template-Toolkit-2.19/t/macro.t
Template-Toolkit-2.19/t/object.t
Template-Toolkit-2.19/t/output.t
Template-Toolkit-2.19/t/parser.t
Template-Toolkit-2.19/t/plugins.t
Template-Toolkit-2.19/t/plusfile.t
Template-Toolkit-2.19/t/pod.t
Template-Toolkit-2.19/t/prefix.t
Template-Toolkit-2.19/t/proc.t
Template-Toolkit-2.19/t/process.t
Template-Toolkit-2.19/t/provider.t
Template-Toolkit-2.19/t/README
Template-Toolkit-2.19/t/ref.t
Template-Toolkit-2.19/t/service.t
Template-Toolkit-2.19/t/skel.t
Template-Toolkit-2.19/t/stash-xs.t
Template-Toolkit-2.19/t/stash.t
Template-Toolkit-2.19/t/stashc.t
Template-Toolkit-2.19/t/stop.t
Template-Toolkit-2.19/t/strcat.t
Template-Toolkit-2.19/t/string.t
Template-Toolkit-2.19/t/switch.t
Template-Toolkit-2.19/t/table.t
Template-Toolkit-2.19/t/tags.t
Template-Toolkit-2.19/t/template.t
Template-Toolkit-2.19/t/test/
Template-Toolkit-2.19/t/test/dir/
Template-Toolkit-2.19/t/test/dir/file1
Template-Toolkit-2.19/t/test/dir/file2
Template-Toolkit-2.19/t/test/dir/sub_one/
Template-Toolkit-2.19/t/test/dir/sub_one/bar
Template-Toolkit-2.19/t/test/dir/sub_one/foo
Template-Toolkit-2.19/t/test/dir/sub_two/
Template-Toolkit-2.19/t/test/dir/sub_two/waz.html
Template-Toolkit-2.19/t/test/dir/sub_two/wiz.html
Template-Toolkit-2.19/t/test/dir/xyzfile
Template-Toolkit-2.19/t/test/lib/
Template-Toolkit-2.19/t/test/lib/after
Template-Toolkit-2.19/t/test/lib/badrawperl
Template-Toolkit-2.19/t/test/lib/barfed
Template-Toolkit-2.19/t/test/lib/before
Template-Toolkit-2.19/t/test/lib/blockdef
Template-Toolkit-2.19/t/test/lib/chomp
Template-Toolkit-2.19/t/test/lib/config
Template-Toolkit-2.19/t/test/lib/content
Template-Toolkit-2.19/t/test/lib/default
Template-Toolkit-2.19/t/test/lib/error
Template-Toolkit-2.19/t/test/lib/footer
Template-Toolkit-2.19/t/test/lib/header
Template-Toolkit-2.19/t/test/lib/header.tt2
Template-Toolkit-2.19/t/test/lib/incblock
Template-Toolkit-2.19/t/test/lib/inner
Template-Toolkit-2.19/t/test/lib/menu
Template-Toolkit-2.19/t/test/lib/one/
Template-Toolkit-2.19/t/test/lib/one/foo
Template-Toolkit-2.19/t/test/lib/outer
Template-Toolkit-2.19/t/test/lib/process
Template-Toolkit-2.19/t/test/lib/README
Template-Toolkit-2.19/t/test/lib/trimme
Template-Toolkit-2.19/t/test/lib/two/
Template-Toolkit-2.19/t/test/lib/two/bar
Template-Toolkit-2.19/t/test/lib/two/foo
Template-Toolkit-2.19/t/test/lib/udata1
Template-Toolkit-2.19/t/test/lib/udata2
Template-Toolkit-2.19/t/test/lib/warning
Template-Toolkit-2.19/t/test/plugin/
Template-Toolkit-2.19/t/test/plugin/MyPlugs/
Template-Toolkit-2.19/t/test/plugin/MyPlugs/Bar.pm
Template-Toolkit-2.19/t/test/plugin/MyPlugs/Baz.pm
Template-Toolkit-2.19/t/test/plugin/MyPlugs/Foo.pm
Template-Toolkit-2.19/t/test/pod/
Template-Toolkit-2.19/t/test/pod/test1.pod
Template-Toolkit-2.19/t/test/src/
Template-Toolkit-2.19/t/test/src/bar/
Template-Toolkit-2.19/t/test/src/bar/baz
Template-Toolkit-2.19/t/test/src/bar/baz.txt
Template-Toolkit-2.19/t/test/src/baz
Template-Toolkit-2.19/t/test/src/benchmark
Template-Toolkit-2.19/t/test/src/blam
Template-Toolkit-2.19/t/test/src/complex
Template-Toolkit-2.19/t/test/src/evalperl
Template-Toolkit-2.19/t/test/src/foo
Template-Toolkit-2.19/t/test/src/foobar
Template-Toolkit-2.19/t/test/src/golf
Template-Toolkit-2.19/t/test/src/leak1
Template-Toolkit-2.19/t/test/src/leak2
Template-Toolkit-2.19/t/test/src/metadata
Template-Toolkit-2.19/t/test/src/mywrap
Template-Toolkit-2.19/t/test/src/README
Template-Toolkit-2.19/t/test/src/recurse
Template-Toolkit-2.19/t/test/tmp/
Template-Toolkit-2.19/t/test/tmp/README
Template-Toolkit-2.19/t/text.t
Template-Toolkit-2.19/t/throw.t
Template-Toolkit-2.19/t/tiedhash.t
Template-Toolkit-2.19/t/try.t
Template-Toolkit-2.19/t/unicode.t
Template-Toolkit-2.19/t/url.t
Template-Toolkit-2.19/t/vars.t
Template-Toolkit-2.19/t/varsv1.t
Template-Toolkit-2.19/t/view.t
Template-Toolkit-2.19/t/vmethods/
Template-Toolkit-2.19/t/vmethods/hash.t
Template-Toolkit-2.19/t/vmethods/list.t
Template-Toolkit-2.19/t/vmethods/replace.t
Template-Toolkit-2.19/t/vmethods/text.t
Template-Toolkit-2.19/t/while.t
Template-Toolkit-2.19/t/wrap.t
Template-Toolkit-2.19/t/wrapper.t
Template-Toolkit-2.19/templates/
Template-Toolkit-2.19/templates/html/
Template-Toolkit-2.19/templates/html/bar
Template-Toolkit-2.19/templates/html/body
Template-Toolkit-2.19/templates/html/box
Template-Toolkit-2.19/templates/html/button
Template-Toolkit-2.19/templates/html/cell
Template-Toolkit-2.19/templates/html/config
Template-Toolkit-2.19/templates/html/edge
Template-Toolkit-2.19/templates/html/edgebar
Template-Toolkit-2.19/templates/html/edgebox
Template-Toolkit-2.19/templates/html/footer
Template-Toolkit-2.19/templates/html/head
Template-Toolkit-2.19/templates/html/header
Template-Toolkit-2.19/templates/html/html
Template-Toolkit-2.19/templates/html/html3.2
Template-Toolkit-2.19/templates/html/indent
Template-Toolkit-2.19/templates/html/item
Template-Toolkit-2.19/templates/html/link
Template-Toolkit-2.19/templates/html/list
Template-Toolkit-2.19/templates/html/menu
Template-Toolkit-2.19/templates/html/menubar
Template-Toolkit-2.19/templates/html/page
Template-Toolkit-2.19/templates/html/rgb
Template-Toolkit-2.19/templates/html/row
Template-Toolkit-2.19/templates/html/table
Template-Toolkit-2.19/templates/pod/
Template-Toolkit-2.19/templates/pod/html/
Template-Toolkit-2.19/templates/pod/html/begin
Template-Toolkit-2.19/templates/pod/html/for
Template-Toolkit-2.19/templates/pod/html/head1
Template-Toolkit-2.19/templates/pod/html/head2
Template-Toolkit-2.19/templates/pod/html/item
Template-Toolkit-2.19/templates/pod/html/over
Template-Toolkit-2.19/templates/pod/html/pod
Template-Toolkit-2.19/templates/pod/html/seq_bold
Template-Toolkit-2.19/templates/pod/html/seq_code
Template-Toolkit-2.19/templates/pod/html/seq_entity
Template-Toolkit-2.19/templates/pod/html/seq_file
Template-Toolkit-2.19/templates/pod/html/seq_italic
Template-Toolkit-2.19/templates/pod/html/seq_link
Template-Toolkit-2.19/templates/pod/html/seq_space
Template-Toolkit-2.19/templates/pod/html/seq_text
Template-Toolkit-2.19/templates/pod/html/text
Template-Toolkit-2.19/templates/pod/html/textblock
Template-Toolkit-2.19/templates/pod/html/verbatim
Template-Toolkit-2.19/templates/ps/
Template-Toolkit-2.19/templates/ps/border
Template-Toolkit-2.19/templates/ps/box
Template-Toolkit-2.19/templates/ps/circle
Template-Toolkit-2.19/templates/ps/clip
Template-Toolkit-2.19/templates/ps/cross
Template-Toolkit-2.19/templates/ps/crosshair
Template-Toolkit-2.19/templates/ps/dot
Template-Toolkit-2.19/templates/ps/footer
Template-Toolkit-2.19/templates/ps/header
Template-Toolkit-2.19/templates/ps/lines
Template-Toolkit-2.19/templates/ps/mm
Template-Toolkit-2.19/templates/ps/outline
Template-Toolkit-2.19/templates/ps/regmarks
Template-Toolkit-2.19/templates/ps/reset
Template-Toolkit-2.19/templates/ps/ring
Template-Toolkit-2.19/templates/ps/text
Template-Toolkit-2.19/templates/ps/tilemap
Template-Toolkit-2.19/templates/ps/tilepage
Template-Toolkit-2.19/templates/ps/tiles
Template-Toolkit-2.19/templates/README
Template-Toolkit-2.19/templates/splash/
Template-Toolkit-2.19/templates/splash/bar
Template-Toolkit-2.19/templates/splash/box
Template-Toolkit-2.19/templates/splash/breakdown
Template-Toolkit-2.19/templates/splash/button
Template-Toolkit-2.19/templates/splash/config
Template-Toolkit-2.19/templates/splash/dots
Template-Toolkit-2.19/templates/splash/dropbox
Template-Toolkit-2.19/templates/splash/frame
Template-Toolkit-2.19/templates/splash/hair
Template-Toolkit-2.19/templates/splash/homelink
Template-Toolkit-2.19/templates/splash/icon
Template-Toolkit-2.19/templates/splash/menu
Template-Toolkit-2.19/templates/splash/menubar
Template-Toolkit-2.19/templates/splash/panel
Template-Toolkit-2.19/templates/splash/pulldown
Template-Toolkit-2.19/templates/splash/tab
Template-Toolkit-2.19/templates/splash/tabbox
Template-Toolkit-2.19/templates/splash/tabsbox
Template-Toolkit-2.19/templates/splash/tabset
Template-Toolkit-2.19/templates/splash/text
Template-Toolkit-2.19/templates/splash/ttdotorg
Template-Toolkit-2.19/templates/splash/ttpower
Template-Toolkit-2.19/TODO
Template-Toolkit-2.19/xs/
Template-Toolkit-2.19/xs/Makefile.PL
Template-Toolkit-2.19/xs/MANIFEST
Template-Toolkit-2.19/xs/ppport.h
Template-Toolkit-2.19/xs/README
Template-Toolkit-2.19/xs/Stash.xs

  CPAN.pm: Going to build A/AB/ABW/Template-Toolkit-2.19.tar.gz


                    Template Toolkit Version 2.19
                    =============================

Using Win32 defaults.
Run 'perl Makefile.PL TT_HELP' for a summary of options.


Template::Stash::XS
-------------------

The Template::Stash module is a core part of the Template Toolkit
implementing the magic for accessing data using the dot notation.

There is a high speed version, Template::Stash::XS, written in C.
This makes the Template Toolkit run about twice as fast as when u
the regular Template::Stash written in Perl.  If you've got a C
compiler on your system then you can elect to have the XS Stash b
You can also specify that you want to use the XS Stash by default

Note that as of version 2.15 the XS Stash now supports access to
hashes and arrays.

See 'perldoc Template::Config' for further details.

Do you want to build the XS Stash module? [y] install Template
Do you want to build the XS Stash module? [y] n


Optional Extras
---------------

In additional to the Perl modules and POD documentation installed in
the usual way, the Template Toolkit distribution also contains a
number of optional components:

  * Template libaries for basic HTML, Pod -> HTML, and PostScript

  * Splash! - a stylish HTML user interface template library / widget set

  * HTML documentation - distributed in template form for customisation

  * Stylesheet templates to generate docs as vanilla HTML or using Splash!

  * Examples - numerous examples of using the template libraries

If you want to install these optional components then you'll need to
specify a separate directory for them.

Do you want to install these components? [y]

You can chose any directory for the installation of the additional
Template Toolkit components.  The proposed default assumes a Win32
flavour to your operating system (suggestions for suitable defaults
for other platforms welcome).

Installation directory [C:/Program Files/Template Toolkit 2]


Splash!
-------

The Splash! template library uses a number of (very) small images to
build user interface components.  These will be installed into the
directory:

    C:/Program Files/Template Toolkit 2/images

If you want to use the Splash! library then you'll need to make sure
you can access these images via your browser.  If you want to deliver
pages via a web server then you'll need to specify the URL that can be
use to access these images.  In the general case you can accept the
default and access the images via the filesystem.

URL base for TT2 images? [C:/Program Files/Template Toolkit 2/images]


HTML Documentation
------------------

The modules comprising the Template Toolkit contain comprehensive POD
documentation which can be browsed using 'perldoc' or 'man' (if your
system supports it).  In additional, the distribution also includes a
set of source templates and style elements for generating the same
documentation in HTML format.  These will be installed in the
directory:

    C:/Program Files/Template Toolkit 2/docs

The HTML documentation can be built for you at "make install" time in
a plain and simple HTML format or using the Splash! library.  You can
see examples of these different styles and browse the documentation
online at:

    http://www.template-toolkit.org/docs/

Do you want to build the HTML documentation? [y]

If you want to build the HTML documentation using the Splash! library
then you'll need to make sure you correctly defined the URL for the
Splash!  images above.  Otherwise, answer 'n' to the next question to
use plain HTML.

Do you want to use the Splash! library? [y]

Which Splash! colour scheme would you like to use to build the
documentation?  Acceptable values are:

  Name     Colours
  -------------------------
  default  lilac/mauve
  aqua     aqua/marine
  blue     grey75/blue75
  green    grey75/green75
  grey     grey75/grey50
  leon     red75/orange/white/black
  red      grey75/red75

Enter name of colour scheme:  [default]
HTML Examples
-------------

A number of examples showing use of the HTML, Splash! and PostScript
libraries will be installed into:

    C:/Program Files/Template Toolkit 2/examples

As with the documentation, the examples are provided in template form
and can be automatically built into HTML pages during the "make
install".  These pages rely on the Splash! library and expect the
images URL to be correctly defined for correct viewing.

Do you want to build the HTML example pages? [y]

Checking if your kit is complete...
Looks good
Writing Makefile for Template

Configuration complete.  You should now run 'dmake', 'dmake test' and
then 'dmake install'.   See the README file for further information.


Installation Notes
------------------

Please note that the installation of the optional components and
building of the HTML documentation is performed at the "make install"
stage as the effective user at that time.  This implies that this user
must have sufficient permission to install into the specified
directory and that all created directories and files will be owned by
them.

'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
  nmake  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible


cpan>



(In reply to comment #23)
> 'nmake' 不是内部或外部命令,也不是可运行的程序
> 或批处理文件。
>   nmake  -- NOT OK

  I can't read Chinese.

  Also, don't paste long strings of text into comments--make them attachments.
Sorry about the long text.

The Chinese is what we get when we run.  We're on Chinese Windows and apparently that leads the compilation tools to export Chinese error messages.  Obviously poor internationalization - there should be an error message we can look up.

Here's a Google translation...

>'Nmake' internal or external command is not, nor is it operational procedures or batch file.

Presumably nmake is not being found.
(In reply to comment #25)
> Presumably nmake is not being found.

  Okay. Clearly you should rectify that and try again. :-)
This is not technology we are familiar with.

How do we rectify this?
(In reply to comment #27)
> How do we rectify this?

  Find nmake and install it.
After google this,I think the text comes from the database had been double encoded.
when you add "use encoding 'latin1'" to the head of the file "\Bugzilla\Template.pm",you will find that all the text comes from the database is OK now,but but the text in the localization template files garbled(some thing like "\x{D4F2}").
To avoid this,we can decode the text comes from the database first.
for example,userpref.cgi,we add "use Encode" to the head of the file.
then,we change the following code to this:

    ($vars->{'realname'}) = decode("utf8",$dbh->selectrow_array(
        "SELECT realname FROM profiles WHERE userid = ?", undef, $user->id));
    if(Bugzilla->params->{'allowemailchange'} 
so,when you visit "User Preference",on the "Name and Password" tab,both the text comes from database(your realname) and the text comes from localization template files OK now.
I think we'd better override the following method:
selectrow_array
selectcol_array
selectall_array
...
(In reply to comment #28)
> (In reply to comment #27)
> > How do we rectify this?
>   Find nmake and install it.

still no change,


  + splash/menu.html
  + splash/menubar.html
  + splash/panel.html
  + splash/pulldown.html
  + splash/tab.html
  + splash/tabbox.html
  + splash/tabsbox.html
  + splash/tabset.html
  + splash/text.html
  nmake install  -- OK


cpan>
I have find another way to resolve this bug,see http://www.jiangyanfeng.com/?tid=105(simple Chinese)
(In reply to comment #31)
> I have find another way to resolve this bug,see
> http://www.jiangyanfeng.com/?tid=105(simple Chinese)

  I can't read that. Could you translate it?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: intl
OS: Windows Server 2003 → All
Hardware: PC → All
You need a full build environment to run CPAN.  Windows typically doesn't have
one.  This is why PPM exists. :)
(In reply to comment #32)
> (In reply to comment #31)
> > I have find another way to resolve this bug,see
> > http://www.jiangyanfeng.com/?tid=105(simple Chinese)
> 
>   I can't read that. Could you translate it?

Google makes an attempt:
http://www.google.com/translate?u=http%3A%2F%2Fwww.jiangyanfeng.com%2F%3Ftid%3D105&langpair=zh%7Cen&hl=en&ie=UTF8

But I still don't get it.
That sounds like a description of the problem, not a solution to it.
Ah, I see the solution--it's in the full text, the link from the bottom.

What he points out is that you can fix the problem by fixing the TT filters. It's the TT filters like url_quote, html, html_light, wrap_comment, and even the "mone" filter that are corrupting the data. This is actually what I suspected a few days ago when I was thinking about it.

So this sounds like a problem internal to Template-Toolkit that we may have to work around or report as a bug, if it hasn't been fixed in recent versions.
Sorry for my English,this patch is what i modified,for bugzilla 3.12.It works fine,but I still cann't send bug mail in Chinese,and can not view bug list as long format.
Attachment #284562 - Attachment is patch: false
Marc, dupe of bug 413121?
No, I don't think so. This bug here is about how database-based data (heehee) is affected, while bug 413121 is about how templates are affected. Plus, bug 413121 was introduced by (I think) bug 363153, which landed after bug 395505 had been reported.
Yeah, this was handled by bug 363153--I specifically tested this.
Assignee: general → mkanat
Status: NEW → RESOLVED
Closed: 16 years ago
Depends on: bz-utf8
Resolution: --- → FIXED
Whiteboard: [fixed by blocker]
Target Milestone: --- → Bugzilla 3.2
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: