一時的にShift-JISにする方法は?

MacOSX10.4.2でユニコードではなく一時的にShift-JISで出力することは
可能でしょうか。
というのも多くの多国語掲示板はShift-JISで書かれたCGIの一部を加工して
日本語以外の2バイト言語も投稿表示できるようにしてあります。
 自サイトは全てユニコード化しましたがユニコード化は未だ小数派
そこにMacOSX10.4.2でそのまま日本語以外を使って投稿すると、その部分
が認識されず?記号に置き換わります。たとえば韓国語でアンニョンを書きた
い時はユニコード数値参照方式で 안녕 とする必要があり
面倒です。
変換ソフト等を使わずにファインダーから一時的にShift-JISを利用できたら
と考えているのですが如何なものでしょう。
※事実誤認があったので訂正しました

投稿日 2005/09/23 14:28

返信: 10

2005/09/25 22:55 Community User への返信

要は、他人の作ったウェブ掲示板で、多言語の扱いをちゃんとしたい、ということですよね? 具体的な掲示板の URI が書いてないので、以後一般論で書きます。ひょっとすると状況を勘違いしているかもしれませんが。
Mac OS X は内部処理は Unicode ですが、他のエンコーディングにも対応しています。ただし、10.4 以降、エンコーディングの扱いが厳格になったようで、規格外の文字を ? に変更してしまうようです。
Safari だと、Shift_JIS のページにあるフォームで POST すると、Shift_JIS で送信しています。ですから、その掲示板が Shift_JIS で作ってあれば、きちんと Shift_JIS で POST されています。その意味では、「一時的に Shift_JIS で出力」していることになります。
しかし、Shift_JIS のテキストの一部に Shift_JIS にない文字を使ってしまうと、投稿する段階で ? に置き替えられてしまうはずです。それが原因だと思います。
Shift_JIS はあくまで Shift_JIS なんですから、Shift_JIS で韓国語の文字が使えるようにしたいと思うこと自体が間違いです。先方に Unicode 対応にしろ、というのがスジでしょう。
# 実際の掲示板の URI を示してもらうと、もうちょっと建設的なアドバイスができるかもしれません。

2005/09/26 06:44 Community User への返信

targz さん、ありがとうございます。
>>Shift_JIS はあくまで Shift_JIS なんですから、Shift_JIS で韓国語の文字が使える
>>ようにしたいと思うこと自体が間違いです。
>>先方に Unicode 対応にしろ、というのがスジでしょう。
それはそうなんですが。ユニコードなど全く普及していない時代にShift_JISの掲示板
でもなんとかして多言語(私の場合は韓国語ですが)を表示したいという切なる(^_^;
願いがありまして…… 私自身のサイトでもついこの前迄はShift_JISのCGIを改造して
韓国語表記を可能にしていた訳です。
MacOS9時代にはユニコード対応エディタが無かった?、という理由もあって。

>>実際の掲示板の URI を示してもらうと、もうちょっと建設的なアドバイスができる
>>かもしれません。
上記したように私のサイトは全てユニコード化を済ませているし、よそ様のURLを出
すのもなんですから、試験用に多言語対応の改造をしたShift_JIS掲示板を作ってみま
した。そこにMacOSXとMacOS9でいくつかの組み合わせて投稿してあり、具体的
に実際の状態が判りますから、見ていただけると幸いです。
試験用掲示板 http://www.saram.jp/test/aska.cgi
私のサイトは http://www.saram.jp/KANKOKU/

2005/09/27 08:03 Community User への返信

試験用に開いた掲示板にも結果を書いておきましたが
多言語対応したShift_JISのCGIへ多言語をMacOSXからSafari2.0.1で投稿した場合は
日本語以外は?になってしまう。念のためにFirefox1.0.7をインストールして同じ作業
をしたところ、ちゃんと多言語で読み書き可能だった。
この結果から判断するとSafariの欠陥と言えるかもしれない。
蛇足:このボードはShift_JISだけど何でユニコードにしないか不思議だ!

2005/09/27 21:44 Community User への返信

試験ページの設置ありがとうございます。こんな感じになっているんですか……。掲示板の HTML ソースを見ると、正常に見えている韓国語は実体参照になっているんですね。なるほど。
ふつう、Shift_JIS エンコードのフォームページで投稿すると、投稿される文字列も Shift_JIS になります。Mac OS X 10.4 からは、エンコードが厳格になったらしく、Shift_JIS なのに韓国語を書こうとすると ? に変換してしまうんでしょう。こればっかりは OS (の API) の仕様なので仕方ありません。
FireFox は Carbon アプリなので、エンコーディングの扱いが違うのだと思います。おそらく、Shift_JIS でない部分は実体参照にしてから送信しているのではないかと。
Safari のデフォルトエンコーディングは「文字コードが不明だった場合にどのエンコーディングにするか」というものなので、明確に Shift_JIS と分かる今回のようなケースでは変更しても意味がありません。
むしろ、表示メニューの「テキストエンコーディング」自体を変更しないといけません。しかし、これを Korean-MacOS にしてみましたが、フォーム自体が化けてしまうので失敗でした。
個人的には、Shift_JIS なページで韓国語が使えてしまうことがとても不思議です;-) 可能ならば、掲示板のソースも見てみたいです。どのように実現しているのか気になります。ソースを見てみれば、回避方法が分かるかもしれません (分からないかもしれません :-)。
ソースコードを tar.gz で固めてどこかに置いてもらえますか?

2005/09/28 06:30 Community User への返信

>>FireFox は Carbon アプリなので、エンコーディングの扱いが違うのだと思います。
そうだったんですか。でエンコードに厳格なSafariと挙動が違うのですね。
試験用のCGIに投稿していただきありがとうございました。
ソースコードはTXTにして
http://www.saram.jp/test/aska.txt に設置済みです。
もしも文字化けする場合はユニコードに変更してみてください。
なお試験用掲示板でのtargzさんの次の投稿により詳しい事を書いておきました。

2005/10/01 04:22 Community User への返信

ソースを見てみましたが、実体参照が通るように & のエスケープをしないようにする、という改造だけなんですね……。
となると、日本語と韓国語が共存できるかどうかは、ブラウザが韓国語部分を実体参照に変換して投稿する処理になっているかどうかに左右されることになります。
この挙動は、RFC とかで規定されているとは思えないので、ブラウザの実装依存でしょう……。(RFC で規定されてたらごめんなさい)
正直なところ、こんな改造で「韓国語対応だ」ということ自体、驚愕です。やはり Unicode 対応した掲示板が普及することが望まれます。といって、ヨソの掲示板については、管理者を説得する必要があるので大変ですね……。

2005/10/01 05:56 Community User への返信

> ブラウザの実装依存でしょう……
MacOSX や Windows 上の firefox ではハングルとして表示されますが、Linux 上の firefox では単に文字化けです。

2005/10/01 10:38 Community User への返信

>Linux 上の firefox では単に文字化けです。
それはハングルフォントが入ってなかったりしませんか? 実体参照は Unicode で記述するので、見えない方がおかしいように思うのですが。

2005/10/01 12:15 Community User への返信

最初に質問した件については、そのような場合は Firefox で対処する、と
いう事を私の結論としました。
>こんな改造で「韓国語対応だ」ということ自体、驚愕です。
あまりの簡単さに驚きましたか。^_^ ユニコード化はもうちょっと作業が
必要ですけど、似たようなものです。
私のところは全てを日本語メニューと韓国語メニューから読み書きできる
ように改造してあるので、ログのユニコード化を含めて変換するのに結構
時間が必要でしたが。
>やはり Unicode 対応した掲示板が普及することが望まれます。
先日も書いたように、この掲示板自体まだ Shift_JIS を使っているのが現状
ですから。(^_^; それにユニコードだって万全ではないですし。

2005/10/01 14:50 Community User への返信

ハングルに十分対応してないのは確かなようです。
Linux が対応してないのではなくて、うちのに入れてないということです。
でも、ハングルはまったく表示されないわけではありません。
unicode のフォントも入ってはいます。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

一時的にShift-JISにする方法は?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。