Mac+NC のみ文字化けするのを回避するには?

[上に] [前に] [次に]
[E-Mail] [HomePage] 1999/12/03(金) 17:45:02
今回は、質問者です。つい先日、新装オープンした私のページで、
Mac+NC でのみ文字化けが起こり、自力解決が難しく、困ってい
ます。どなたか原因が分かる方よろしくお願いします。

[症状]
MacOS(バージョン不明、たぶん8.6)+NC(バージョン不明、たぶん4.5)→文字化け
MacOS(バージョン不明、たぶん8.6)+MSIE(バージョン不明、たぶん4)→正常表示
Win98+MSIE5→正常表示
Win98+NC4.51→正常表示
NetBSD/mac68k1.4.1+NN5.0a1→正常表示

[自力解決への努力]
1.Mac+NC でソースを表示させて調べた結果、元ソースで39行
目(SSI や JavaScript の関係で、ブラウザのソース表示では多少
変わるので注意)の、「<FONT SIZE="-1">最終」の、「最」の字か
ら文字化けが始まっていることを確認。
2.エディタでは見えない、変なコントロールコードや文字が入って
しまったかも知れないと思い、バイナリエディタで「最」の字の前な
どを確認するが、異常なし。

キャラクタセットの指定は、x-sjis にしています。

現在、タイトル表示が、NN では崩れていますが、これは後で調整し
ます。また、NN で、所々文字が指定通りになっていない、例えば
<small> をつけると逆に色つきで文字が大きくなる、などありま
すが、手に余れば質問しますので、気にしないでください。

# Mac + NN は鬼門だ。

URL は、

http://www5.big.or.jp/~susumu/dosuser/

です。よろしくお願いします。

みんこ 1999/12/03(金) 17:54:33
<DIV Ttyle="font: 8pt/100% serif;">Macintosh LC575 に MacBSD をインストールしたところ<DIV>

スタイルシートは良く知りませんが「DIV Ttyle」って指定はあるんですか。
ちなみにOS8&NN4.5でここから化けてます。

J.Naka 1999/12/03(金) 18:58:46
「DIV Ttyle="なになに"」
IEでOKな、チップヘルプってやつです。

[E-Mail] [HomePage] 1999/12/03(金) 19:52:23
みんこさん、J.Naka さんありがとうございます。

アップ前のソースでは、
<div style="font: 8pt/100% serif;">Macintosh LC575 に MacBSD をインストールしたところ<div>

となっています。ブラウザでソースを表示させても上記のようになっ
てます。何が起こっているのでしょうか?

tky 1999/12/03(金) 19:58:19
しっかりとは見ていなく、問題の解決法なのかは分かりませんが、、、
CSSで、font-familyに「serif」、「sans-serif」等の指定を
日本語に対してするのは現状では止めておいた方がいいというのを
どこかで読んだことがあります。

[E-Mail] [HomePage] 1999/12/03(金) 20:20:11
関係ないかもしれませんが、

<!-- 文字コード宣言 -->
と云うコメントが、キャラクターセットの宣言以前に存在
って事は、宣言が死んでる事になるような気がしますが?

# 関係ないですがWWWCってJavaScriptは動かないんじゃあ?

[E-Mail] [HomePage] 1999/12/03(金) 21:05:21
tky さん、るさん、その他このページから私のぺージに飛んできて
くれたのべ8名のみなさん、ありがとうございます。

明朝が好きなので、今回、serif を使ってみたのですが、Mac + NN
だけだめということでしょうか。Mac + NN のテスト環境が整って
いないので、すぐには試せませんが、あとで試行錯誤してみます。

<!-- 文字コード宣言 --> というコメントが先に来ているのは承
知しています。それで、問題がないのでそのままにしています。
Mac + NN もきちんと Shift-JIS と判定しているようです。
しかし、途中から、何をどう勘違いしたのか文字化し始めます。

あっ、いや、案外当たっているかも。
<!-- 文字コード宣言 --> で自動判定した場合と meta タグで
宣言した場合とでは違うのかも知れない。
自動判定した場合は、キャラクタセットが固定されないで、ページの
途中でもキャラクタセットをフレキシブルに変更するのかも。

テスト環境がなくて、すぐには試せませんが、チェックしてみます。

> # 関係ないですがWWWCってJavaScriptは動かないんじゃあ?

大ウケさせもらいました。私は本当に馬鹿ですね。指摘されるまで
気が付きませんでした。早速、SSI で書き直します。

のぐ 1999/12/03(金) 21:20:26
Macでどうか知らないのですが、WinのNC4では、
<LINK REL=STYLESHEET HREF="xxxx.css" TYPE="text/css">
の宣言と、個別タグの <タグ STYLE="...."> を混在させると、
個別タグの STYLE= が現れた場所から、宣言の STYLESHEET が無効
になります(おかしくなる?)。
これを防ぐにはどちらかを止めて、例えば宣言にあらかじめすべて
を記述しておくか、あらためて宣言するしかないようです(経験)。
あらためて宣言するのはルール通りかどうか分かりませんが、
<DIV STYLE="...">・・・</DIV>
<LINK REL=STYLESHEET HREF="xxxx.css" TYPE="text/css">
などと直後に再宣言することで行えます。

[E-Mail] [HomePage] 1999/12/03(金) 23:11:33
> <LINK REL=STYLESHEET HREF="xxxx.css" TYPE="text/css">
> の宣言と、個別タグの <タグ STYLE="...."> を混在させると、
> 個別タグの STYLE= が現れた場所から、宣言の STYLESHEET が無効

なるほど。それはいいことを聞きました。いままで、混在させても
特に問題がなかった(ように見えた)のは単にラッキーだったわけ
ですね。

さっそく、全てのスタイルを *.css で定義することにします。
あんまりクラスが多くなると、収集がつかなくなる恐れもあり
ますが。。

これで、挙動不審な NNタグ問題が一気に解決すると嬉しいな。

文字化けの方の情報も引き続きお待ちしております。

[E-Mail] [HomePage] 1999/12/03(金) 23:32:27
> <LINK REL=STYLESHEET HREF="xxxx.css" TYPE="text/css">
> の宣言と、個別タグの <タグ STYLE="...."> を混在させると、
> 個別タグの STYLE= が現れた場所から、宣言の STYLESHEET が無効

なるほど。それはいいことを聞きました。いままで、混在させても
特に問題がなかった(ように見えた)のは単にラッキーだったわけ
ですね。

さっそく、全てのスタイルを *.css で定義することにします。
あんまりクラスが多くなると、収集がつかなくなる恐れもあり
ますが。。

これで、挙動不審な NNタグ問題が一気に解決すると嬉しいな。

文字化けの方の情報も引き続きお待ちしております。

TOM neko [E-Mail] 1999/12/04(土) 02:34:49
Mac版NNで化けるのは以下の場合です。

●CSSの指定
1.serif,sans-serif,monospaceを2バイト文字部分に指定する。
2.日本語の2バイト文字部分に欧文フォントを指定する。
(Macにないフォントなら指定しても化けませんが、IEをインス
トールするとMacでもWindowsの欧文フォントが入りますから要注意
です)
●タグの指定
<FONT face="hoge">これも2バイト文字部分に欧文フォントを指定
すると化けます。(NN3でも)

Mac版NNのバグというか変な仕様ですが、ちょくちょく遭遇しま
す。見る側がCSSをオフにするとか、Windowsのフォントを捨てると
か対策する必要がありますね。ページの作り手の人には親切を強要
できませんから。Windowsの作り手側が親切のつもりで Helvetica
等のMac用のフォントを指定したりするのはやめた方がいいでしょ
うけれど。

[E-Mail] [HomePage] 1999/12/04(土) 02:56:23
あっ、2重投稿してしまった。すみません。

TOM neko さん、フォローありがとうございます。

> 1.serif,sans-serif,monospaceを2バイト文字部分に指定する。

もろに該当します。今、Netscape 4.03 をダウンロードしている
ので、もう少ししたら、MacOS + NN でチェックできると思います。
serif をはずしてやってみます。

# NN for 68k の最新版が 4.03 なんて、どうしたことだ!

のぐさんのお陰で、<small> をつけると逆に色つきで文字が大きくな
るなどの不具合はなくなりました。ありがとうございます。

[E-Mail] [HomePage] 1999/12/04(土) 03:39:18
[[解決]]
このラウンジの威力を思い知らされました。解決です。犯人は serif
です。Mac+NC で serif を書いても大丈夫な場合と文字化けする場合
があるようですが、この際原因を究明するのではなく、Mac+NC の方
だけ別のスタイルシートを使ってもらうこととします。

結果的に FAQ だったような気が。。。

# NC for 68k の最新版が 4.03 だと言ったのは、日本語版で、
# 英語版なら、4.08 があるみたいです。

# 滅多に自分で解決ボタンを押すことがないからちょっと嬉しい

[E-Mail] [HomePage] 1999/12/04(土) 04:41:03
別のサイト(本業のサイトとも言う [ http://www5.big.or.jp/~susumu/ih/ ])
では、階層化メニューを実現するために、IE と NN で違うスタイル
シートを使うようにしていたので、同じ要領で、

<SCRIPT language=JavaScript>
<!--
if(navigator.appVersion.indexOf( "Macintosh" ) >= 0 || navigator.appName.indexOf( "Netscape" ) >= 0 ){
    document.write("<LINK REL=STYLESHEET HREF='top_page_mn.css' TYPE='text/css'>");
}else{
    document.write("<LINK REL=STYLESHEET HREF='top_page.css' TYPE='text/css'>");
}
//-->
</SCRIPT>

とするとうまくいきました。JavaScript を OFF にしている人ごめ
んなさい、という状態です。

OFF にしている人も、'top_page.css' を使えるように手段を考えね
ば。。。

tky 1999/12/04(土) 05:33:03
解決済みみたいですが、、、
JavaScriptオフの人用には、下の方法で・・
でも、NetscapeではJavaScriptオフで、CSSも無効になるので、
IE3以上でJavaScriptオフの環境のみ対象になります

<noscript>
<link rel="stylesheet" type="text/css" href="top_page.css">
</noscript>

[E-Mail] [HomePage] 1999/12/04(土) 06:00:15
[[解決]]
tky さん、何度もすみません。noscript などすっかりその存在を
忘れていました。再び解決です。

さっき、ちょこちょことOS判定表示CGIを書いて、「はじめに」
の「ようこそ!」の後に埋め込みました。漢字Talkは Macintosh と
しか表示できませんが、Win & Mac とも正常に動いているようです。
このCGIが欲しい人はフリーで差し上げますので、言ってきてく
ださい。??が表示されてしまった人は、是非教えてください。あ
なたのOSを追加します。

では。

[E-Mail] [HomePage] 1999/12/04(土) 23:32:01
訂正

[誤]
if(navigator.appVersion.indexOf( "Macintosh" ) >= 0 || navigator.appName.indexOf( "Netscape" ) >= 0 )

[正]
if(navigator.appVersion.indexOf( "Macintosh" ) >= 0 && navigator.appName.indexOf( "Netscape" ) >= 0 )

参考にされる方がいらっしゃったら、悪いので、訂正します。

[上に] [前に] [次に]