
XFormsとやらを実験してみたくなり
X-Smilesを用いて見た。
事前にXFormsとは関連の無い
自分が書いたソース
(拡張子.xml,Content-Type:application/xhtml+xml)
を読み込ませたところ
UTF-8で書いたものが、
ISO-8859-1で読み込まれた。
(ただし、DOCTYPE宣言があるとエラー。)
なお、この際、ソースでは、
日本語の部分は数値文字参照に変換されていて
正常に見られた。
さて、
XFormsで送られてきたデータをperlによるcgiに送った。
多分XHTMLやHTMLの書式と同じだと思います。
(例)
http://hogehoge.net/hoge.pl?Name=himajin;Passwor …
(XForms 1.0 仕様書にXMLデータとして受け渡される・・・みたいなこと書いてあった気がするんだけど
いい加減に読みすぎたかな・・・?)
上記xmlでは日本語が自動的に変換されていたので
formから送られてきたデータをURLデコードして
そのまま表示させようとしたが
----------------------
Invalid byte 1 of 1-byte UTF-8 sequence.java.io.UTFDataFormatException:
Invalid byte 1 of 1-byte UTF-8 sequence.
at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
(以下略)
-------------
というエラーが出た。
よくわからないが(汗)ひょっとしたら
自力で数値文字参照にしなければならないのかも・・・
と予測しています
ソースを書いていただけないでしょうか?
探してもなかなか見つからないです
No.1ベストアンサー
- 回答日時:
$inline = 'あいうえお'; #UTF-8
@chars = ();
$outline = "";
(@chars) = ($inline =~ m/([\x01-\x7f]|[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf][\x80-\xbf])/xg);
foreach $char (@chars) {
if(length($char) == 1){
$outline .= $char;
}elsif(length($char) == 2){
$unival = (vec($char, 0, 8) & 0x1f) * 0x40 + (vec($char, 1, 8) & 0x3f);
$outline .= "\&#$unival;";
}elsif(length($char) == 3){
$unival = (vec($char, 0, 8) & 0x0f) * 0x1000 + (vec($char, 1, 8) & 0x3f) * 0x40 + (vec($char, 2, 8) & 0x3f);
$outline .= "\&#$unival;";
}
}
print $outline; #結果:あいうえお
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ダブルクォート文字などをフォ...
-
InputMan の imTextについて
-
半角カナから全角カナへ
-
常用漢字?でない文字を判定す...
-
正規表現でカンマを対象にする方法
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
住宅にカナを入力する際に丁目...
-
Excelについて質問です。 セル...
-
IEからEdgeへの移行に伴うIMEの...
-
正規表現で、特定の文字列を含...
-
正規表現 英数字を1つ以上含む...
-
VBA 文字に半角が含まれて...
-
マクロを使ってフォルダー内に...
-
「何とかで始まり、何とかで終...
-
SJIS->UTF8->SJISコード変換に...
-
各項目がダブルクォーテーショ...
-
CString から LPCTSTRの型に変換
-
英数字のみ全角から半角に変換
-
Excel・ユーザーフォームの情報...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
InputMan の imTextについて
-
文字化けを元に戻せますか?
-
nkfとjcodeの使い方の違いについて
-
正規表現
-
半角カナから全角カナへ
-
チェックボックスの複数選択の...
-
Perlでのマッチング処理について
-
中国語のコードについて
-
utf-8のマシンでsjisのデータフ...
-
文字実体参照が勝手に変換され...
-
unicodeの表示
-
PerlでUTF8をEUCに変換
-
CASL2の仕様での英単語の格納方法
-
頭文字を大文字にしたい
-
文字をISO Lathin 1 文字コード...
-
textareaでHTMLタグを使いたい
-
常用漢字?でない文字を判定す...
-
「数値文字参照への変換するソ...
-
アルファベットの変換?
-
デコードフォームについて。
おすすめ情報