みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
windows10
ファイルメーカー19
FileMaker Master Book19 中級の(311ページ)のwebビューアの対象のフィールドにテキスト文字を入力するとwebビューアのフィールドで同じ文字が表示されるはずなのですが文字化けが起こってしまいます。
いろいろと直してみようと試してみたのですがわからないため投稿させていただきました。
webビューアのフィールドにwebカスタムアドレスで("data:text/html,"& ユーティリティ管理::g_Webビューアテスト)と設定して、webビューアの対象のg_webビューアテストとゆうフィールドがありますそこに(あいうえお)と入力するとwebビューアのフィールドのほうで(縺ゅ>縺∴縺)のようになってしまいます。
文字化けの原因は何でしょうか?
またその直し方がわかりませんので教えていただきたいです。
よろしくお願いいたします。
Offline
HTMLだとデフォルトのエンコーディングはUTF-8なので、UTF-16だという指定が必要なようです。
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-16" /></head><body>あいう
少し前のWebビューアがIEだったころは動作が違ってた気がしますが。
単にテキストをそのまま表示したいだけなら「data:text/plain」にすればもっと簡単かと思ってbase64とか色々やってみましたが、文字化けが解消できませんでした。
https://content.claris.com/ja-e-learning-index
にある教材ですね。
「本コンテンツは FileMaker 18 プラットフォームとテキストを使って解説していますが、学習する内容は FileMaker 19 プラットフォームと共通で、FileMaker 19 プラットフォームとテキストをそのままお使いいただけます。」
となってますが、FM19.3.1からはWebビューアがIEベースからEdgeベースに変わってるので、そのままではだめなことも多いと思います。
https://help.claris.com/ja/pro-help/con … tures.html
インタラクティブコンテンツも動作がかなり変わってます。
本家のものにしてはずいぶんおおざっぱですね。
himadanee様ありがとうございます。
himadanee様に頂いたアドバイスをもとに色々とやりましたが、私には直せませんでした。
IEベースから、EDGEベースになっているとゆうことが問題なのでしょうか、もう一度見てみようと思います。
進展がありましたらこちらにまたコメントいたします。
ご教授いただきありがとうございました。
Last edited by mucha (2022-03-02 13:53:08)
Offline
WEBビューアのWEBアドレス指定に以下を入れて、
"data:text/html;charset=utf-8," ユーティリティ管理::g_Webビューアテスト
フィールド値は、<meta charset='utf-8'> を追加すれば大丈夫です。
<html>
<head>
<meta charset='utf-8'>
.....
</html>
Offline
あれ?ファイルはUTF-8で保存されてますね。勘違い。どこかに指定がないとUS-ASCII扱いされて文字化けするということですか。(漢字が出てるのでASCII扱いではないと思った)
UTF-16だったのはIEベースの時だけ?
動作原理自体が、以前は「保存した一時ファイルをfile:で表示」だったのが、「保存した一時ファイルをhttp://localfm.assets/~という特殊なURLで表示」に変わってるんですが、内部動作の細かい説明は公式にはないですよね。
file:だったときは一時ファイルがすぐにエディタで開けたんですが、今度は保存場所を探すのが階層が深くてめんどくさい。(開発ツールを開くのは簡単になったがhttp:なのでツール内でソースは表示できるが保存場所を開けない)
これは多分Chromiumの機能であってClarisのせいではないと思いますが...
Webビューアの設定では
https://help.claris.com/ja/pro-help/con … iewer.html
data:のオプションはbase64しかサポートされてないように書かれてますが、そこでcharsetの指定ができるんですね。
しかし、その指定がUTF-16でも保存されたファイルはUTF-8になってるようだし(実は無視されてるだけ?)、フィールド値が
<head>あ
だけでも文字化けは解消されました。何を見て扱いを変えてるのかなあ??
DOCTYPEがないとQuirksモードになるので、これはあった方がいいようですが、文字化けとは関係ないようです。単純なテキストを表示するだけならこのモードは関係ないでしょうし。
なおUTF-8などは大文字なのが正式のはずですが(公式定義https://www.rfc-editor.org/rfc/rfc3629.html)、なぜかHTMLの解説などで頻繁に小文字で見かけます(https://developer.mozilla.org/en-US/docs/MDN/Guidelines/Code_guidelines/HTML#doctype)
いずれにしても、何をしたいのかによってWebビューアに設定する部分が変わってきます。「フィールド値のテキストを表示したい」ならWebビューアのソース計算式の方にhtml構文まで入れ込まないとだめですし。
色々試した組み合わせで文字化けしない一番短いのは
"data:text/html,<head>" & テーブル::フィールド
のようでした。(意味がわかるので<html lang="ja-JP">が効いてほしい、と思いましたがだめでした。<head>の有無で表示が変わるのは全く意味不明。ちなみに<head>の中の<title>がHTML的には必須要素のはず)
HTMLを表示したいなら、規格に沿った構文(文書のエンコーディング指定は<meta charset='utf-8'>)で書けば問題ないと思います。
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 517.26 KiB (Peak: 522.16 KiB) ]