
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
半角と全角の文字数カウント方法
-
制御コード文字の受け取りと処理
-
次ページ処理で途中つまりました
-
正規表現でカンマを対象にする方法
-
jcode.plのconvertを使用しなけ...
-
nkfとjcodeの使い方の違いについて
-
エクセルで数値を全角文字(カ...
-
CSVファイルの中で、「 , 」カ...
-
VBA 文字に半角が含まれて...
-
英数字のみ全角から半角に変換
-
カンマ区切りの数字をCSVフ...
-
Excel VBAでPDFファイルをMicro...
-
結合で、条件左右で型が違った...
-
正規表現の全角、半角、大文字...
-
メールアドレスかどうかの
-
IMAP4でsubjectが検索ヒットしない
-
【LaTeX】pBibTeXでのエラーの...
-
Excelについて質問です。 セル...
-
JPY ¥1,500.00は日本円でお幾ら?
-
ACCESS:半角、全角空白スペース...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
InputMan の imTextについて
-
チェックボックスの複数選択の...
-
正規表現でカンマを対象にする方法
-
ダブルクォート文字などをフォ...
-
文字化けを元に戻せますか?
-
文字実体参照が勝手に変換され...
-
機種依存文字の文字コード変換
-
常用漢字?でない文字を判定す...
-
特殊文字をPOSTした際の動作は?
-
「数値文字参照への変換するソ...
-
Java String 初心者
-
jcodeを使ったgetcode
-
Jcode.pmでの半角カナ→全角カナ...
-
Perlのsprintfで使われるフォー...
-
戻り値の意味がわかりません…
-
調べたり変換する関数
-
jcode.plについて
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
住宅にカナを入力する際に丁目...
おすすめ情報