大人になっても苦手な食べ物、ありますか?

中国語入力可のWEBフォームに入力された文字列を
日本語フォントで示せる独自の管理コードに置き換えたいのですが

(1)中国語入力を受け付ける入力フォームをつくるには?
(2)入力された中国フォントで書かれた文字を日本語フォント
 で示せる管理コードに置換え。

(2)もしくは(1)もPHP等のサーバサイドプログラムを使うのかもしれ
ませんが上記プロセスしか思いつきません。
実現するための、やり方や手掛かりになる情報をご存知の方
ご教授意ただけませんでしょうか?

例、
?好←この中国語フォントで書かれた中国漢字を、
↓↓
中国語挨拶1←このように、日本語の管理コードに書き換えます。

A 回答 (5件)

ニーハオについて。


このQ&Aシステムは複数のサイトから同じ物が見られますが、サイトによって文字の扱いに違いがあります。
さらにブラウザによっても表示が変わりますので面倒なことになります。

この質問のNo7-8の私の回答に表示状況の画像があります。
http://oshiete1.goo.ne.jp/qa4537642.html
これを見て分かるように、教えて!gooをFirefoxで見ると正しく文字が見えます。
    • good
    • 0
この回答へのお礼

度々恐れ入ります。
まさしく、教えて!gooをFirefoxの組み合わせです。
やはり、ブラウザやサーバ側の事情も関係してくるのですね。
色々教えて頂きありがとうございます。
現時点では、何から初めてよいか解らず混乱してますが
一つずつ何がどのように影響するのか等整理しながら調べてみます。

お礼日時:2009/09/13 02:40

このページのHTMLソースをテキストで見ると、確かに「好」の直前に \x00 (、つまり NUL 文字) が混入していますね。



No.3さんは、なぜそれが「ニー」の文字だと思うのですか?

質問者さん、そのとおりなのですか?
    • good
    • 0
この回答へのお礼

No.3様、No.1様回答ありがとうございます。
"ニーハオ"でございます。
Firefox3で表示すると中国語書体で正しく表示されるようなのですが
ご指摘から推測するとブラウザの問題も関係してくるようですね。
当方のPCには中国語フォントを入れていますがIMEでは日本語
設定になっているのでブラウザ側の表示設定と言う可能性を考えました。
このような、机上では気づかない実際にやってみないと解らない部分での
問題があるのではと思い質問させて頂いた理由もありました。

利用目的からは、単純に
「〇△■」と入力されたら→「001」と言う予め決められたコードに
変換すると言う事で良いのですが。
「0001~1000」番までの、コードに置換えする事がしたいのです。
「〇△■」の部分が単に、中国語漢字になるという事なのですが。

入力される単語は予め全て登録したものでよかったのですが、
説明不足で、何度もお手数掛けて申しわけありません。

お礼日時:2009/09/09 00:14

まず、質問に中国語の漢字を使っているようですが、環境によって全く表示されませんので避けた方が良いです。


(No1,2さんへ:「好」に見えるものは「ニーハオ」が書かれています)

思うに、日本語の文字でない部分のみを文字コードか何かに置きかえればよいのではないでしょうか。
例えばHTMLの文字参照で置きかえれば、ニーハオは「你好」になります。

なお、フォントを気にされる理由がよく分かりません。
サーバにフォントがなくても文字列処理は当然できますし、そもそもサーバにフォントを置くのに手間もコストも要らないでしょう。処理結果を使う目的のためかとも思いますが、何に使うのか書かれておらず分かりません。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございました。
>サーバにフォントを置くのに手間もコストも要らないでしょう
この部分なのですが、広告付きなどの無料もしくは、安価なレンタル
サーバを使いたいと思っています。
そうしたサーバでは、HTMLファイルやCGI以外のファイル
を置く事も詳細な設定を変更する事も出来ないと認識していますが
その範囲でフォントを入れる事は出来ないと考えておりました。

しかし、回答から推測するとサーバ側のフォントの問題は気にしなくて
良いのですね。
ブラウザの文字セットの問題と考えてよいのですね。
間違っていたらご指摘頂ければ、幸いです。
>処理結果を使う目的
処理後に変換された独自のコードは、中国語は全く関係ありません。

質問を出した時はイメージしやすいかと思い「中国語挨拶1」など
と適当に書きましたが、全て1~1000番までの数字に入力された中国
単語を置き換えるだけです。

お礼日時:2009/09/09 00:26

No.1 です。



実現に向けて話を詰めようとされている心意気を感じますが、やはり目的と状況に依存する部分が多いので明快な回答はできないですね。 いずれも、普通は、経験を積んだ技術者が諸般の事情を考慮して決定する問題です。


> 置換えするのは、単語ばかりで、1000語程度です。

普通はサーバー側で処理すべきオーダーだと思いますが、サーバーが非力だとか、使うのは内輪の人間だけだから遅くても我慢できるとかの事情があれば、クライアント(閲覧者が使うPC)のCPUを使う JavaScript も選択肢かも知れません。


> 入力部分は相手のPC中国語にフォントがあるかどうか

コピペで無く手入力するなら、「中国語IME」とかその類のものも必要かと思います。


> サーバー側にフォントを用意する必要は無い。

多分可能でしょうが、不利な局面が発生するかどうかは状況によるでしょう。


> あとはUTF-8で入力されたコードをサーバ側で置換えすると言う事でよいのですね。

目的によります。

目的が「Web漢和辞典」なら置換は不要で、入力語に対応する「辞書の本文」を別の場所に表示するだけですよね。

目的が「自動中日半翻訳」であれば、置換の前段階の「単語区切り処理」が必要でしょう。 「好」は、常に「中国語挨拶1」で良いのですか? 「好」を含む単語は無いのですか? 「中日友好」とか。
    • good
    • 0
この回答へのお礼

>「好」常に「中国語挨拶1」で良いのですか?
後述してますが、環境の問題で正しく表示できてませんでした。
単語は予め決められた1000語と決まってますので、
それ以外の単語が入力される事はありませんし単語を分解して解析
等も全く必要ありません。
お手数掛けまして、申しわけありませんでした。

お礼日時:2009/09/09 00:33

まず、文字コードに UTF-8 を使いましょう。

UTF-8 は日本語に必要な文字も中国語に必要な文字も持っているので、コード変換とか「中国語入力用のフォーム」とかを考える必要が無くなります。

「好」⇒「中国語挨拶1」 は、文字列置換ですね。 HTMLだけでは無理で、CGI とかのサーバーサイド処理で実現するのが普通と思います。

「好」の様な置換対象語の種類数が数十とかそれ以下なら JavaScriptでもできます。

つまり、何が作りたいか、何が要求されるかによって、適切な手法は千差万別です。 ほとんどの手法で、それなりの技術力が要求されると思います。 どうしたら良いか見当も付かない人には難しいかも。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
置換えするのは、単語ばかりで、1000語程度です。
入力部分は相手のPC中国語にフォントがあるかどうか
サーバー側にフォントを用意する必要は無い。
あとはUTF-8で入力されたコードをサーバ側で置換えすると
言う事でよいのですね。

お礼日時:2009/09/07 21:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報