473,786 Members | 2,350 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Japanese - wrong encoding in a frame

Hi,

May be it's a know issue but my search brought nothing...

We have static HTML files with Japanese text in UTF-8 encoding - it's
on-line Help for our application, so there are no Web servers involved,
just .html and .js on a hard drive.
..
Help topics are shown in a frameset (I know, I know, I personally had
no idea :)) like this (I made an example): http://RusWin.net/jindex.htm

Looks Ok in this example, each file involved has
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=utf-8">

But in this example the filese used in frames are hard-coded in
jindex.htm:

<FRAMESET ROWS="14%,76%,* ">
<FRAME SRC="jheader.ht m">
<FRAMESET COLS="29%,71%">
<FRAME SRC="jleft.htm" >
<FRAME SRC="jmain.htm" NAME="page">
</FRAMESET>
<FRAME SRC="jfoot.htm" >
</FRAMESET>

In a real system main frame shows gibberish instead of Japanese -
eventhough all browsers show (if I place cursor to the main frame and
use right mouse button to see current encoding) that currently selected
encoding for that piece _is_ UTF-8, the text is shown using "Western"
encoding :(

You can see that bad effect simulated if you go to
http://RusWin.net/jindex.htm, place cursor to the main frame and using
right mouse click choose "Western(Window s)" encoding - it's what we see
in real production system!

What is the difference with my example and the real system?

In real system HTML file with FRAMESET tag has _placeholders_
(blank.htm) afrer SRC= like this:

<frame name="" src="pagenav.ht m" scrolling="no">
<frame name="" src="blank.htm" scrolling="no">
<frame name="" src="blank.htm" scrolling="auto ">
and real file names are dynamically prepared using JavaScript
(re-direct happens):

WWHGetWWHFrame( ParamToBookDir)
........
location.replac e(ParamToBookDi r +
"wwhelp/wwhimpl/common/html/wwhelp.htm?cont ext=" +
WWHBookData_Con text() + "&file=" + BaseFilename);

*************** *************** *

So does anyone know why re-direct (location.repla ce) can cause such
strange effect of a wrong encoding used?

*************** *************** ***************
We tried to avoid replacing whic removes file from frame first and
tried instead to use location to directly assign a file to the frame,
but it did not help:

newUrl = ParamToBookDir +
"wwhelp/wwhimpl/common/html/wwhelp.htm?cont ext=" +
WWHBookData_Con text() + "&file=" + BaseFilename;

location = newUrl;

*************** *************** ***************

Thanks,
Paul

Apr 21 '06 #1
12 5803
On 20 Apr 2006 pa*****@compuse rve.com wrote:
Help topics are shown in a frameset
Don't use frames.
http://RusWin.net/jindex.htm | Your browser does <B>not</B> support <I>FRAMES</I>

Don't use frames in the first place.
Especially do not use such silly NOFRAMES text. That's like

alt="Your browser does not support images."
<meta http-equiv="content-type" content="text/html; charset=utf-8">
This is only vodoo. The encoding is specified in the HTTP header.
But in this example the filese used in frames are hard-coded in
jindex.htm:
Don't use frames.
What is the difference with my example and the real system?
The charset parameter sent by the server. Your <meta charset> vodoo
doesn't help at all:
http://www.w3.org/International/O-HTTP-charset.html
http://ppewww.ph.gla.ac.uk/~flavell/...t/ns-burp.html
In real system HTML file with FRAMESET tag has _placeholders_
Don't use frames.
So does anyone know why re-direct (location.repla ce) can cause such
strange effect of a wrong encoding used?


You have different servers - one sends "charset=IS O-8859-1" and
the other does not specify an encoding (charset). Make sure that
your server sends "charset=UT F-8" and remove your <meta charset>
ersatz.

Did I mention that frames are evil®?

--
Evil® is a registered trademark of the President of the United States.

Apr 21 '06 #2
Dan

Andreas Prilop wrote:
<meta http-equiv="content-type" content="text/html; charset=utf-8">


This is only vodoo. The encoding is specified in the HTTP header.


Except that the original poster mentioned that the files in question
were displayed as an application's help screens, directly from a hard
drive, with no HTTP server involved. This probably technically makes
it off-topic for this WWW authoring group, since it's not actually on
the Web.

--
Dan

Apr 21 '06 #3
Andreas Prilop wrote:
On 20 Apr 2006 pa*****@compuse rve.com wrote:
Help topics are shown in a frameset
Don't use frames.


Why on earth not?
Did I mention that frames are evil®?
Under which circumstances, exactly?
Don't use frames in the first place. Especially do not use such silly
NOFRAMES text. That's like

alt="Your browser does not support images."
No, it's not. That 'alt' text is pointless; the viewer already knows
that he cannot see the image. And it's potentially misleading; the fact
that the image isn't displayed may not be caused by lack of browser
support. In the case of frames, the failure to display a frameset can
only be caused by a lack of browser support, and absent the NOFRAMES
text, you'd have to display something else (perhaps that's your point,
but it's not clear from what you said).
This is only vodoo. The encoding is specified in the HTTP header.
That's great, if you happen to have HTTP available.
What is the difference with my example and the real system?
The charset parameter sent by the server.


What server?
You have different servers - one sends "charset=IS O-8859-1" and the
other does not specify an encoding (charset). Make sure that your
server sends "charset=UT F-8" and remove your <meta charset> ersatz.


How's he supposed to do that, when the 'server' is a hard disk?

--
Jack.
Apr 21 '06 #4
Hello!

Andreas Prilop wrote:
On 20 Apr 2006 pa*****@compuse rve.com wrote:
Help topics are shown in a frameset


Don't use frames.


It's why I wrote in my post, "I know, I know" and that I have nothing
to do with
the product - I saw the product first time yesterday -
at this stage it's too late for me to tell them do drop
the frames - their shipping time is close :)
So it's not an option to have no-frames product at this time...
--
Regards,
Paul

Apr 21 '06 #5

Hi,

It looks like a JavaScript issue - no problem without JavaScript,
issue appears only when we change a file name of HTML to be shown
in the main frame from a spaceholder Blank.htm to a needed one
dynamically using JavaScript function
location.replac e()
or location = newUrl

with the same result - Japanese UTF-8 text is shown using "Western"
encoding (by both Firefox and Internet Explorer).

Anyone heard about such issue?

--
Regards,
Paul
Apr 21 '06 #6
VK

pa*****@compuse rve.com wrote:
Hi,

May be it's a know issue but my search brought nothing...

We have static HTML files with Japanese text in UTF-8 encoding - it's
on-line Help for our application, so there are no Web servers involved,
just .html and .js on a hard drive.
.
Help topics are shown in a frameset (I know, I know, I personally had
no idea :)) like this (I made an example): http://RusWin.net/jindex.htm

Looks Ok in this example, each file involved has
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=utf-8">

But in this example the filese used in frames are hard-coded in
jindex.htm:

<FRAMESET ROWS="14%,76%,* ">
<FRAME SRC="jheader.ht m">
<FRAMESET COLS="29%,71%">
<FRAME SRC="jleft.htm" >
<FRAME SRC="jmain.htm" NAME="page">
</FRAMESET>
<FRAME SRC="jfoot.htm" >
</FRAMESET>

In a real system main frame shows gibberish instead of Japanese -
eventhough all browsers show (if I place cursor to the main frame and
use right mouse button to see current encoding) that currently selected
encoding for that piece _is_ UTF-8, the text is shown using "Western"
encoding :(

You can see that bad effect simulated if you go to
http://RusWin.net/jindex.htm, place cursor to the main frame and using
right mouse click choose "Western(Window s)" encoding - it's what we see
in real production system!

What is the difference with my example and the real system?

In real system HTML file with FRAMESET tag has _placeholders_
(blank.htm) afrer SRC= like this:

<frame name="" src="pagenav.ht m" scrolling="no">
<frame name="" src="blank.htm" scrolling="no">
<frame name="" src="blank.htm" scrolling="auto ">
and real file names are dynamically prepared using JavaScript
(re-direct happens):

WWHGetWWHFrame( ParamToBookDir)
.......
location.replac e(ParamToBookDi r +
"wwhelp/wwhimpl/common/html/wwhelp.htm?cont ext=" +
WWHBookData_Con text() + "&file=" + BaseFilename);

*************** *************** *

So does anyone know why re-direct (location.repla ce) can cause such
strange effect of a wrong encoding used?


Is it with any language or with Japanese only?
Japanese part of Unicode is severely screwed by the Unicode Consortium.
Everyone (uncluding Japanese) uses Shift_JIS instead. They (Unicode)
happened to make Japanese tables while they were still trying to stay
in the original two-byte format, so they implemented only the own
Japanese characters, and whatever they could - they referenced in
Chinese tables. Holly mess...

Any way, try to use Shift_JIS instead and make sure that your server
sends the proper Content-Type with charset indicated. In serious things
like Eastern alphabets meta cheat-chat is not trustful :-)

Apr 21 '06 #7
Paul Gorodyansky wrote:
Hi,

It looks like a JavaScript issue - no problem without JavaScript,
issue appears only when we change a file name of HTML to be shown in
the main frame from a spaceholder Blank.htm to a needed one
dynamically using JavaScript function location.replac e() or location
= newUrl

with the same result - Japanese UTF-8 text is shown using "Western"
encoding (by both Firefox and Internet Explorer).

Anyone heard about such issue?

This works correctly in both IE and Firefox.

I have created a page "frameset.html" , with two frames, the second one
being named "hebrew" and loading a blank file, with the first frame
loading "western.ht ml". I have created a page "western.ht ml" thus:
<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=iso-8859-1">
</head>
<body>
<p>This is the first frame.</p>
<p><input type="button" value="Replace"
onclick="parent .hebrew.locatio n.replace('hebr ew.html');"></p>
<p> ל×� × ×™×ª×Ÿ ×œ×™×¦× •×¨ ×�ת</p>
<p>That was hebrew</p>
</body>
</html>

That page is actually UTF-8 encoded, and the meta-tag lies. The garbled
characters are UTF-8, from the Hebrew alphabet.

I have a second file "hebrew.htm l" thus:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<p>Hebrew text follows</p>
<p>
ל� × יתן ליצ× •×¨×�× ª
</p>
<p>That was hebrew</p>
</body>
</html>

When I load "frameset.h tml" into a bruiser from the filesystem, the
garbage in the first appears to be garbage, as expected, and the second
frame displays nothing. When I click on the "Replace" button in the
first frame, the Hebrew text is loaded, and is correctly rendered as
Hebrew, as you would expect.

This behaviour is observed both with IE6 and Firefox. If I dick around
with the meta tag in either the frameset document or in "western.ht ml",
the only change is that the Hebrew text is correctly rendered in the
latter when I change it to UTF-8. The display of "hebrew.htm l" is always
correct.

I initially tested all this without using framesets, because they just
complicate things. I can't read or write Hebrew; the Hebrew text was
found on a UTF-8-encoded webpage, and copied/pasted into a UTF-8-aware
text-editor.

Anyway, I conclude that there is nothing wrong with the handling by
location.replac e() either of my meta-tags, or of UTF-8, in either of the
two bruisers that I tested.

Are you sure that your Japanese help-text is still correctly encoded in
UTF-8, and hasn't been damaged by some non-UTF-8-aware editor?

Are you perhaps using some more primitive bruiser? You haven't said
anything about your platform; these tests were carried out on a Win2K
machine configured to use ISO-8859-1 by default.

--
Jack.
Apr 21 '06 #8
VK wrote:

Any way, try to use Shift_JIS instead and make sure that your server
sends the proper Content-Type with charset indicated. In serious
things like Eastern alphabets meta cheat-chat is not trustful :-)


Which operating system has the ability to return a Content-Type (with
charset) when you open a file?

--
Jack.
Apr 22 '06 #9
On Sat, 22 Apr 2006, Jack wrote:
Which operating system has the ability to return a Content-Type
(with charset) when you open a file?


Well, if your file system is based on http and conforms to rfc2616
then you should have no problem.

Installing Apache was easy enough, on any OS that I've worked with in
the last few years, and would be one recommendable way of getting
anywhere near on-topic for comp.infosystem s.www.authoring.html

Browsing local files directly in the filesystem is a kludge, and
really has little or nothing of relevance to tell us about the World
Wild Web, other than by accident.

bye
Apr 22 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
9072
by: David Thomas | last post by:
Hi there, a while ago, I posted a question regarding reading japanese text from a text file. Well, since I solved the problem, I thought I'd post my solution for the benefit of other people with the same problem. The plan was to make a script to read and display japanese text. I will use it for making a japanese proverb script and for a japanese language study script.
1
3170
by: Sriv Chakravarthy | last post by:
I am trying to use xerces-c SAX parser to parse japanese characters. I have a <?xml... utf-8> line in the xml file. When the parser encounters the jap characters it throws a UTFDataFormatException. I am quite new to xml and I am not sure how to deal with this situation. Is there a way to parse the jap characters ? or should the japanese characters be escaped in the xml file (i.e. Ӓ) for this to work.
2
3355
by: Robert M. Gary | last post by:
I'm using JRE 1.5 on Solaris Japanese (Sparc). The JVM claims its default character set is EUC-JP I'm seeing two strange things when using Japanese character sets... 1) If I write a program that does System.out.println("$^%$%^^" ); //assume those are Japanese characters that are multibyte under EUC-JP The resulting output looks NOTHING like the characters I typed in. Apparently the character set being used to read the literal is...
3
2585
by: Benoit Martin | last post by:
in my windows app, I have some japanese text that I load from a text file and display on a label. No matter what type of encoding I try to use on the text file, the text always comes up as a bunch of unreadable characters on my label. Are there settings/properties for a label on a windows form to be able to read japanese text? Is it when I raed the file that it gets screwed up (I use fileOpen and LineInput)? Looking for pointers here
21
2510
by: Doug Lerner | last post by:
I'm working on a client/server app that seems to work fine in OS Firefox and Windows IE and Firefox. However, in OS X Safari, although the UI/communications themselves work fine, if the characters getting sent back and forth are in Japanese they come back from the server "moji bake" (corrupted). Anybody have any ideas why this might work differently in Safari than in Firefox or IE?
11
4769
by: prats | last post by:
I want to write a GUI application in PYTHON using QT. This application is supposed to take in Japanese characters. I am using PyQt as the wrapper for using QT from python. I am able to take input in japanese. But I am unable to display them back to GUI. It displays some junk characters Can anyone suggest me some way how to debug the issue. The code used for tranferring data from view to document is: " codec =...
3
2192
by: paulgor | last post by:
Hi, May be it's a know issue but my search brought nothing... We have static HTML files with Japanese text in UTF-8 encoding - it's on-line Help for our application, so there are no Web servers involved, just .html and .js on a hard drive. .. Help topics are shown in a frameset (I know, I know, I personally had no idea :)) like this (I made an example): http://RusWin.net/jindex.htm
2
5014
by: phl | last post by:
Hello, I have aspx(say page.aspx) page which uses javascript to submit a form reload with some unicode characters,upon an button event e.g page.aspx?param=value I get this value in the codebehind and access it via Request.Querystring property.
1
4259
by: PHP Wooer | last post by:
Can anybody there please help me out? I am having a problem with the display of Japanese character in the subject line of the mails sent in Japanese language. This problem is particularly with Hotmail Live and Yahoo Beta mails for rest all like Gmail, Hotmail original and Yahoo original its working fine. It may be some character encoding problem, but is there any way that I can get rid of this issue.
0
9647
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9492
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9960
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8988
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7510
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6744
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5397
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5532
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3668
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.