質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

2134閲覧

サイト上で、XMLがUTF-8なのに、Shift-JISのHTMLで読み込んで文字化けしない理由を知りたい

hiroomi-m

総合スコア13

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/12/04 06:42

編集2018/12/04 07:26

サイト上で、XMLがUTF-8なのに、Shift-JISのHTMLで読み込んで文字化けしない理由を知りたい

ある企業サイトを運用(フロントのみ)しています。
詳しくは書けないですが、フロント側ではHTMLがShift-JISで用意されていて、XML(UTF-8)を読み込む際に文字化けせずに表示できています。

バックエンドがまだ分かっていないのですが、どのタイミングでUTF-8からShift-JISになっているかを調査しています。
調査の方法、問題の切り分け方など、一般的にはどのような方法があるか、というお知恵を拝借したいと思っています。
よろしくお願いいたします。

補足

元となるHTMLのページから、一部XMLをJavaScriptで読み込んでいるようです。

$.ajax({'contentType' : 'text/xml; charset=utf-8'}); ※一部

ファイルの文字コードについて

  • HTML : Shift-JIS
  • JS : Shift-JIS
  • XML : UTF-8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2018/12/04 06:47

補足願います。①XMLとHTMLはどういった関係ですか? HTMLがテンプレートですか? ②最終的な出力の文字コードは何ですか?
x_x

2018/12/04 06:47

UTF-8で書かれたXMLをShift_JISとして読み込んでいるということでしょうか? Shift_JIS外の文字も正常に表示できているのですか?
hiroomi-m

2018/12/04 06:52

補足します。①HTMLが元になり、一部XMLを読み込む仕様になっています。 ②最終的な出力の文字コードはShift-JISになっています。
hiroomi-m

2018/12/04 06:53

「UTF-8で書かれたXMLをShift_JISとして読み込んでいる」ようです。Shift-JIS外の文字は試したことがないので分かりません。
maisumakun

2018/12/04 06:57

「一部XMLを読み込む」のは何で行っていますか?
hiroomi-m

2018/12/04 07:01

「一部XMLを読み込む」のは、JavaScriptのようです。
x_x

2018/12/04 07:19

jQueryを使っているのであれば「jQuery」タグをつけてください
x_x

2018/12/04 07:21

contentTypeではなく、dataTypeは指定していないのでしょうか?
hiroomi-m

2018/12/04 07:26

失礼しました。タグを修正しました。
hiroomi-m

2018/12/04 07:28 編集

dataTypeは指定していませんでした。(上記にはないですが、URLとcontentTypeの2個のみ指定しています)
guest

回答3

0

ベストアンサー

バックエンドがまだ分かっていないのですが、どのタイミングでUTF-8からShift-JISになっているかを調査しています。

おそらく、なっていません。逆に、ブラウザが表示時にHTMLをShift-JISからUnicodeへ変換しているのではないかと思われます(そのほうがブラウザとしてもハンドリングしやすいでしょうし)。

JavaScriptは論理上、常にUTF-16で動いています。なので、JavaScriptへの入力、JavaScriptからの出力には適宜文字コード変換が入ります。

投稿2018/12/04 07:17

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroomi-m

2018/12/04 08:03

「JavaScriptは論理上、常にUTF-16で動いています。」 こちら知らない情報でした。勉強になりました。ありがとうございました。
guest

0

contentTypeは何を送信するかという設定なので、読み込み(dataType/accepts)は関係ありません。
XHR は UTF-8 で送信することになっているので何も変わらないでしょう。
http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings
https://xhr.spec.whatwg.org/

投稿2018/12/04 07:52

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroomi-m

2018/12/04 08:02

なるほど、読み込み時なので、確かにcontentTypeは無関係(設定不要)でした。 ajax関数の指定が誤っている可能性がありますね。 ありがとうございました。
guest

0

UTF8の文字コードに「文字コードA」があって、SHIFT-JISの文字コードに「文字コードA」の文字コードに、文字が割り振られていない(別の文字が割り振られている)場合、文字化けします。

UTF8とSHIFT-JISで同じ文字コードで、同じ文字を表している場合、文字化けしません

多分。。。。

投稿2018/12/04 07:19

yamato_user

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroomi-m

2018/12/04 07:21

なるほど、たまたまうまくいっているだけなのかもしれませんね。ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問