• ベストアンサー

第2水準のSJISをEUCに変換するには。

 初めて質問させていただきます。  あるファイルのSJISの漢字を  &jcode::convert(\$list[13],"euc","sjis", "z"); でEUCに変換したのですが、POSTGRACEQLのINSERT実行時、第2水準の漢字を使用しているレコードでINVALID EUC_JPというエラーになってしまいます。  第2水準の漢字を変換する方法があれば教えてください。  お願いします。

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

  • ベストアンサー
  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.2

参考サイトによると > ここで,SJISとはMicrosoft が Windows 3.1 で規定した「マイクロソフト標準キャラクタセット」のこととする. (略) > 日本語EUCとSJISとの間のコード変換において次のことに留意する必要がある. (略) > ・ユーザ定義文字の文字数が異なる. > ・SJISにはNEC特殊文字, IBM拡張文字, NEC選定IBM拡張文字があるが,日本語 EUCにはない. などとありますので、 > 存在しないとなると、当然変換はできないということですよね。 現在の仕様では恐らくそういうことになるかと思います。

参考URL:
http://www.opengroup.or.jp/jvc/cde/sjis-euc.html
mikacyu
質問者

お礼

大変参考になりました。これで会社にもエラーの原因を説明ができるかと思います。どうもありがとうございました。

その他の回答 (1)

  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.1

その文字はEUCのコードに存在する文字ですか? # POSTGRACEQLとはPostgreSQLのことでしょうか。。。

参考URL:
http://www.kishugiken.co.jp/cn/code05c.html#C
mikacyu
質問者

補足

 ご指定のHPで検索したところ、第一、第二水準のEUCコードには含まれていないようです。ありがとうございます。  存在しないとなると、当然変換はできないということですよね。  PostgreSQLが正しいです。すみません。