• ベストアンサー

機種依存の文字について(EUC-JPとUnicode ついでにShiftjis)

機種依存の文字列例えばII(敢えてIを2つ並べています)は、私はIを2つ並べて代用しています。 このように、機種依存になりような文字列を表現するにはどうすれば良いのでしょうか? 文字コードは恐らくEUC-JPを使っているので私はこのような代用で対策しているのですが、Unicodeの場合は問題なくなるのでしょうか?

  • bootx
  • お礼率4% (3/70)

質問者が選んだベストアンサー

  • ベストアンサー
  • TT414
  • ベストアンサー率18% (72/384)
回答No.1

Unicodeの場合でも機種依存文字の問題は起こります。 質問者さんの使用するコンピュータが全てUnicodeなら問題ないですが、「教えて!goo」などに質問する際はUnicodeが使えるかどうか分かりません、教えて!gooは2006/1/12現在EUC-JPですが、2006/2に別のコードになっているかも知れません。 機種依存文字になりそうなのは使わないほうがよいでしょう。

関連するQ&A

  • EUC_JPにない文字のshiftJISからの変換処理

    http://okwave.jp/qa757480.html ここにある質問と同じ状況になっています。 shiftJISの文字列をEUC_JPに変換したところ、 invalid byte sequence for encoding "EUC_JP" というエラーが出ました。 EUCにない文字なので変換が出来ないのはわかるのですが、ではその場合どのような処理が妥当でしょうか。 テキストデータから文字を取り込んでいるので最初から文字をEUC_JPやUTF-8で文字列を作ることができません。 EUCにない文字はどうやっても変換できないので代替文字もしくは記号を置くことで解決しようかと思ったのですが、そうするとどの文字がshiftJISにあってEUCにないかの一覧がないとどうしようもないかと思います。 この場合はどうするのが良いかアドバイスいただけませんでしょうか。

    • ベストアンサー
    • Perl
  • EUC_JPの文字化け

    指定された文字列(String型)を以下の様にバイト配列で保持し、 byte[] work = "指定文字列".getBytes(encoding); そのバイト配列を使用し、再度、以下の様にStringを生成します。 new String(work, encoding); (作成したプログラムを添付したいのですが、文字数の関係で割愛します。) 指定文字列は機種依存文字(丸数字等)にします。 この時、encodingにMS932、UTF-8等を指定した場合は問題なく元の文字列が 取得できますが、EUC_JPを指定すると、?に文字化けを起こします。 調査すると、getBytesでbyte配列を取得した時点で既に変換不良を起こしていました。 (丸数字全てが0x3fになっていました。期待していたコード、というか本来は、0xADA1~0xADB4のはずです。) そこでStringクラスのgetBytesメソッドをオーバーライドしちゃえという、甘い考えが浮かび、 javaのソースコードでString.javaを見ましたが、結局のところ、どこでコード変換を行っているのか よくわかりませんでした。 そこで質問です。 1)これはJDKのバグなのですか? 2)こんな経験がある。あるいはこういう対処をした。というかた、おりましたら、   参考URLでも構いませんが教えてください。 以上、よろしくお願いします。

  • 機種依存文字のチェックについて

    javaでの機種依存文字についての質問です。 今、WebアプリケーションをUNIXで構築中なのですが 機種依存文字のチェックで困っています。 Windowsの機種依存文字は情報も多く NEC特殊文字、NEC選定IBM拡張文字、IBM拡張文字 を入力されたら Unicodeのテーブルとつき合わせてエラーという風にしたいと思っています。 ただマッキントッシュの機種依存文字に何があるかがよくわかりません。 とりあえずマッキントッシュの機種依存文字のUnicode Tableなんてないでしょうか? それかjavaで日本語の機種依存文字をチェックするクラスライブラリとかないでしょうか? 文字コードについて素人なので質問自体がおかしかったらすいません。 よろしくお願いします。

  • 機種依存文字の除去

    現在PHP,EUC-JP環境にてプログラミングをしているのですが、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1432515 を参考にして機種依存文字の除去にチャレンジしています。 $str = mb_convert_encoding($str,'SJIS','EUC-JP'); $str = preg_replace( "/([\x87][\x40-\x9F]|[\xED-\xEE][\x40-\xFC]|[\xFA-\xFC][\x40-\x4B]|[\xF0-\xF9][\x40-\xFC])/" ,"",$str); $str = mb_convert_encoding($str,'EUC-JP','SJIS'); で機種依存を試しているのですが、うまくいきません。 ところどころ?+半角文字になったり、機種依存文字は?になったりします。 EUC-JPで機種依存文字を除去できる方法であれば上記の方法にこだわりません。 どなたかご教授いただけないでしょうか? よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • 機種依存文字

    ハートとか電話のマークなどの他社の機種依存文字が 前までは、見れたのに今はただ四角の記号になって表示されてしまいます。 どうしたらまた見れるようになるでしょうか? なってしまった理由として、メモ帳に機種依存文字を貼って保存しようとしたときに、Unicode形式の文字を含んでいます。と出たので Unicode制御文字の挿入というところを押してから見れなくなってしまった気がします。 文章まとまってなくてすいません。少しでもいいので、アドバイスお願いします。

  • MovableType3.32で文字コードEUC-JPに出来ませんか?

    MovableType(ムーバブル)の3.32に3.17からアップグレードしました。 しかし、3.17の時はEUC-JPだったのに、 3.32から何故かUTF-8になってしまっています。 以前は選ぶことが出来たのですが…。 MovableTypeの文字コードをEUC-JPには出来ないのでしょうか? 現在2種の文字コードがあり、文字化けしてしまってます。

  • 機種依存文字

    いつもお世話になっております。 機種依存文字について質問させていただきます。 CSVファイルをアップロードして、文字コードがEUCのデータベースに 格納したいと思っております。(PHPの文字コードもEUCになっております。) 「(はしごたか)」「(たつさき)」などの機種依存文字が 文字化けをしてしまいます。 $name = mb_convert_kana(mb_convert_encoding($data[1], "EUC-JP", "Shift-JIS"), "KV") $name = mb_convert_kana(mb_convert_encoding($data[1], "eucJP-win", "Shift-JIS"), "KV") としても文字化けをしてしまいます。 また、以下の設定をしても文字化けは解消されません。 ini_set('default_charset', 'eucJP-win'); ini_set('mbstring.http_output', 'eucJP-win'); ini_set('mbstring.internal_encoding', 'eucJP-win'); 皆様、ご提示お願いいたします。 よろしくお願いいたします。 <環境> OS:Red Hat Linux PHP:Version 4.3.1 DB:MySQL 3.23.56

    • ベストアンサー
    • PHP
  • EUC-JP文字コードについて

    おはようございます。 WEBサイトのソースから文字列を確認するとほとんどが「シフトJIS」ですが、まれに「EUC-JP」のサイトを見つけます。 これはWEBサイトを作成した環境がユニックスだからでしょうか?? もしくは、なんらかの事情で意図的に「EUC-JP」で保存しているのでしょうか?? よろしくお願いします。

  • 機種依存文字の文字コード変換

    現在、Shift-JISでCGIを作成しています。言語はPerlです。HTMLファイルから送信された文字をDBに登録するのですが、CGIをShift-JISで作成しているのに、DBがEUCとなっているため、jcode.plを利用して文字コードを変換しています。 しかし、文字が機種依存文字である場合、jcode.plでは文字コード変換ができないようで文字化けを起こした文字をDBに登録しようとしてエラーを起こしてしまいます。 何とか機種依存文字をコード変換したいのですが、可能でしょうか?

    • ベストアンサー
    • Perl
  • php,mysqlでの文字化け(機種依存文字)について

    機種依存文字「○いち」「(株)」の文字化けがどうしても解消できません。 phpソースに機種依存文字をコーディングした場合には正しく表示されますが、外部より入力した文字をMySQLに格納し、phpにてデータを取り出し表示すると文字化けします(phpmyadminでの表示時点で文字化け)。 「mb_convert_encoding」等にてテストしてみましたが、結果は変わりませんでした。また、phpmyadminにて直接MySQLに入力しても、phpmyadminでもブラウザ(php表示)でも文字化けしてしまいます。 文字コードについて知識が浅く、各環境はデフォルト状態です。 「mbstring.internal_encoding = EUC-JP 」にも関わらず、「character_set_client = utf8」「character_set_results = utf8」としているのに、機種依存文字以外は問題無く表示されております。 1.機種依存文字化けの対応方法 2.正しい環境設定方法(文字コードの統一を行うべき等) ご教授のほど、何卒宜しくお願い致します。 <<環境>> ・windows xp ・UNIX socket 4.1.22 ・phpMyAdmin - 2.11.1 ・Mysql 4.1.21 ・PHP 4.4.7 【Mysql】 character_set_client = utf8 character_set_connection = utf8 character_set_database = utf8 character_set_results = utf8 character_set_server = ujis character_set_system = utf8 【my.cnf】 [client] default-character-set = ujis [mysqld] default-character-set = ujis [mysqldump] default-character-set = ujis 【php.ini】 mbstring.language = Japanese mbstring.encoding_translation = On mbstring.http_input = auto mbstring.http_output = EUC-JP mbstring.internal_encoding = EUC-JP mbstring.detect_order = auto mbstring.substitute_character = none; ※phpソースには「charset=euc-jp」を記載

    • 締切済み
    • PHP