• 締切済み

SJIS漢字1バイト目欠落の原因をどなたか教えてください

Windows2000,IIS6環境でASPのアプリケーションですが、 数百件に1件の割合で変数に設定した漢字の文字化けが発生します。 原因はSJISの1バイト目の欠落によるものということは判明しましたが、なぜ1バイト目が欠落するのかどなたか原因を教えていただきたく お願い致します。

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

「表」「十」「能」の次の文字ですか? 5Cが鍵を握っています。 エスケープ文字[\]の文字コードが5Cであるため、一文字欠落します。 キーワード「5C 表 文字化け」で検索するとヒットしますよ。

kokorozash
質問者

補足

文字コードの2バイト目が5Cの場合、文字化けする件は調べましたが、 今回欠落した文字は、5Cを含む「ダメ文字」ではありません。 また、必ず欠落するわけではなく、数百件に1回程度の割合です。 画面遷移でSUBMITするタイミングで文字コードが欠落するのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • puttyの日本語版において、SJISファイルが文字化け

    (概要) puttyの日本語版をインストールしたのですが、SJISモードにしても、SJISのファイルを開いた際に、文字化けが発生してしまいます。 (詳細) (1)puttyの設定 ウィンドウ→変換においてSJISモードを設定 (2)サーバー上において、環境変数をLANG=ja_JP.ujisおよびLANG=ja_JP.SJISに設定 上記の設定(1)、(2)で、SJISファイルを開くと文字化けが発生します。 ちなみに、ウィンドウ→変換においてEUC-JPモードを設定し、環境変数をLANG=ja_JP.eucjpに設定した場合に、EUCのファイルを開いた際には、文字化けせずに表示できます。 原因および対処方法がお分かりになる方がいらっしゃいましたら、ご教示をお願いいたします。

  • sjisでの文字化け?

    フォームに文章を入力し内容を送信するCGIを組んだのですが、送信内容の確認画面において文字化けが生じました。 よく聞く「表示」などの文字化けとは違う文字で、「欲求不満」「早苗」などで発生しています。 ただ、「欲求」「不満」「早」「苗」では文字化けせず、「求不」「早苗」という単語になって初めて文字化けするようです。 送信内容はsjisに変換して処理しています。 これはどういったことが原因で発生するのでしょうか? 原因と解決法を御教示いただけたらと思います。

    • ベストアンサー
    • Perl
  • 2バイト文字をJEFからSJISに変換したい

    文字コード、JEFからSJISへ変換したいのですが、 2バイト文字をどのように置き換えればよいでしょうか? JEFコードは、'28'~'29'で括った範囲が漢字コード扱いになるということでなんとかできそうな気がしますが方法が思いつきません。 又、JEFコードからSJISへ変換してくるソフトウェア(UNIX版)などありますでしょうか?

  • phpMyAdminにおけるSJISモードでの参照

    Shawn de havenと申します。 MySQLが「4.0」→「4.1」にVerUpされてしまいまして、いままで(「4.0」)、phpMyAdmin上で、SJISモードで 参照していたものが、文字化けてしまうようになってしまいました。(???が出てきてしまいます) 「4.0」では、phpMyAdmin上における、「Language」のプルダウンで、Japanese(ja-sjis)を指定して、 閲覧できていたのですが、「4.1」だと仕様が異なるようで、「MySQL 接続照会順序」のプルダウンにおいて、 sjis_japanese_ciで設定しても、閲覧時に文字化けが発生します。 (下記、SJIS、UJISの文字コードは全て試してみました。※1) ※1 試した文字コード sjis_japanese_ci sjis_bin ujis_japanese_ci ujis_bin 環境は以下の通りです。 ServerOS:Linux phpversion:4.3.11 phpMyAdmin:2.6.3-pl1 serverAPI:Apache 2.0 Handler MySQL 4.0.25 → 4.1.18へ移行 MySQL エンコーディング UTF-8 ※2,3 ※2.エンコーディングは移行前「4.0.18」、移行後「4.0.25」で同じ ※3.DBのエンコーディングは、UTF-8だが、参照、更新モードをSJISにて実施。 ちなみに、MySQLのVerUp(「4.0」→「4.1」)を、サーバー管理会社にて 自動で行われてしまい、今回の事象が発生しまいました。 MySQLのVersionを「4.1」→「4.0」に戻してもらったら、phpMyAdmin上で、 文字化けが発生せずに、閲覧することが可能なのです。 対処方法もしくは原因等、お分かりになる方がいらっしゃいましたら、 ご教示願えますでしょうか?ささいなことでも構いません。 要は、phpMyAdmin上において、SJISモードでの閲覧および更新ができれば、 問題ありません。 以上、よろしくお願いいたします。

  • php4 SJISの環境で2バイト文字の扱い方

    php4 SJISの環境で(漢字など全角)2バイト文字の扱いで悩んでいます。 $test = "あaいbうえ"; $toru1 = substr($test, 0, 4); $toru2 = substr($test, 4, 4); $toru3 = substr($test, 8, 4); という文字があり、これを盲目的(0,4,8と)4バイト取得すると、あa*<-変てこな文字になります。 4バイト以内に正しく収めて(全角が真っ二つされる場合はこの場合は全角文字の1文字を読まずに3バイトに収めて)次の4バイト取得時に読まなかった分から始めて取得するような器用なことをさせたいです。 結果としては、以下のようにさせたいです。 $toru1 = "あa"; // 4バイト以内 $toru2 = "いb"; // 4バイト以内 $toru3 = "うえ"; // 4バイト以内 mb_系は文字数なので、今回のバイト内に収めることでは使えないと思います。(バイト内に収めることが今回の目的です。) 何か良い方法はありますか?

    • ベストアンサー
    • PHP
  • 【Redhat】SJISにおける文字化け

    OS:Redhat Linux ES 4.6 文字コードをSJISにしてファイルを表示しますと、特定の日本語文字(例えば、II)が 文字化けしてしまいます。 何が原因なのでしょうか。。。

  • sjisの文字化けとその対処方法について

    今掲示板を作っています。 sjisでは特定の文字(表・予・申・能など)が文字化けする問題がありますが、簡単に対処できる方法をさがしています。 一番やりたい方法が、str_replace()関数を使って、例えば「表」を「\表」と書き換える関数を作って、何か書き込むときにはテキストデータをその関数にかけてしのぐというものです。しかし、実際に下のようにやってみると、PHPエラーが発生します。 $textdate = str_replace("表","\表",$textdate); ちなみに、この文字が「表」以外の文字化けをおこさない文字ならばこのエラーは発生しません。 文字コードレベル(16進数レベル)で置換しなければならないのでしょうか?

    • ベストアンサー
    • PHP
  • UTC-8→SJISで文字化け

    こんにちわ!宜しくお願い致します。 現在、オープンソースのアンケートシステム「limesurvey」におきまして、文字化けが起きており困っております。 LimeSurveyバージョン 1.90+ Build 9046 ほとんどのところは、きちんと日本語表示されるのですが、グラフ内(pchart)の文字が文字化けします。 いろいろネットで調べて、imagettftextが原因と分かりました。 「JIS-mapped Japanese Font Support」の設定値がTRUEの場合、GDライブラリは渡された文字列をUTF-8ではなく、Shift_JISとして解釈するということが分かり、mb_convert_encoding関数であらかじめShift_JISに文字コード変換してから、imagettftext関数に渡したところ基本的には、文字化けが解消しました。 以下が、そのコードです。 $Value2 = mb_convert_encoding($Value2,"SJIS ","UTF-8"); しかしながら、「(1)(2)(3)」(←まる1、まる2、まる3)などの機種依存文字がどうしても「?」に変換されてしまいます。 Shift_JISには、「(1)(2)(3)」などの機種依存文字が無いので仕方がないのですが、何とか良い方法が無いでしょうか? ちなみにネットで調べたところ、「SJIS」ではなくて、「SJIS-win」で変換すれば文字化けが起こらないと分かりましたが、今度は、imagettftextでエラーが出てしまいます。 下記のコードはエラーになります。 $Value2 = mb_convert_encoding($Value2,"SJIS-win ","UTF-8"); 「JIS-mapped Japanese Font Support」の設定値がTRUEの場合でも、GDライブラリは渡された文字列をUTF-8として強制的に解釈させる方法など無いのでしょうか?その他何か良い方法があればお教え下さい。 以上、宜しくお願い致します。

    • 締切済み
    • PHP
  • VB2005でJIS拡張漢字の各文字コードを取得する方法

    ある関数に文字列を渡して各文字コードを取得するプログラムを作成しようとしています。 基本的な文字のコードは取得できるのですが、JIS拡張漢字のほとんどが正しく取得できません。 失敗している文字は内部的に「?」(3F)となってしまいます。 例:拡張漢字のコード値(SJIS:81B2)を変換するとコード値が「3F」になってしまう。(テキストエディタなどで文字化けすると「?」に化けるのと同じなのかな?) 正しく文字コードを取得する方法をご存知の方、またヒントなどありましたらよろしくお願いします。 【環境】WindowsXP     VisualBasic2005 【プログラムの流れ】例:SJISコードを取得する場合 文字列を受取る→1文字取得→System.Text.EncodingでSJIS指定のバイト型配列文字に変換(文字コードを取得)

  • ダブルバイトからの変換で、文字化けしてしまいます!!!!

    VBの文字化けについて VBで文字列からダブルバイトの文字(ひらがな、漢字等)を、バイト数を指定して抜き出すと文字化けしてしまいます。 この文字化けを文字列になおす方法はあるのでしょうか? ご存知でしたらお願いします。

このQ&Aのポイント
  • インクジェット対応のトランプに印刷ができるプリンタを探しています。専用の用紙に印刷することが多いコンパクトプリンタではなく、普通の大きさのプリンタでトランプのように小さいものでも印刷できるものがあれば教えてください。
  • トランプサイズ(横: 6.3cm, 縦: 8.8cm, 厚み: 0.3mm弱)に印刷ができるプリンタをお探しですか?インクジェット対応の普通の大きさのプリンタであれば、トランプのように小さなものでも印刷することができます。専用の用紙に印刷する必要はありません。ぜひ教えていただければと思います。
  • トランプに印刷ができるプリンタを探しています。コンパクトプリンタではなく、普通の大きさのプリンタであれば、トランプサイズに対応しています。インクジェット対応のプリンタであれば、トランプのように小さいものでも綺麗に印刷することができます。おすすめのプリンタがあれば教えてください。
回答を見る