お世話になります。
先日より文字コードのことで、頭を悩ましています。
サイト制作の時に、フルCSSを目指し、他の人が作っていたCSSを利用してDreamweaverで制作を始めました。
その際、文字コードがutf-8になっていたのですが、ブラウザによっては文字化けしていおり、宣言の部分をshift_jisに変更しました。
この部分です。<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
ちなみにDreamwerverではデフォルトの文字コードはshift_jisなので、わざわざ変更しない限り、制作したページはすべてshift_jisで書かれているようです。
また、使わせてもらったCSSのページには一行目に@charset "utf-8";が入っていたのですが、よくわからないのでこの行をはずしてみたところ、CSSの設定が反映されない部分が出てきました。(これが原因かわかりませんが、この一行を入れると直ったみたいで・・)
そこで質問なのですが、HTMLの方ではshift_jis、CSSファイルではutf-8という設定でも別にかまわないのでしょうか?(統一しなくてもいいのか?)
また、一行目の@charset "utf-8";を省くと問題がありますか?
統一した方がいい場合は、制作したものをすべてutf-8に(またはshift_jisに)するにはどうしたらいいのでしょうか?
別に統一する必要がなければ今回はこのままにして、次回からきちんとしたものを作って行きたいのですが・・
どうぞよろしくお願い致します。
No.1
- 回答日時:
文字化けの原因ですが、おそらく、指定してある文字コードと、ファイル自体の文字コードが違っていたのではないでしょうか。
Dreamwerverでは自動的に「Shift_JIS」になるということなので、最初に導入したファイルの宣言が「UTF-8」なのに、「Shift_JIS」で保存されてしまったのではないかと。
HTMLファイルで
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
CSSファイルで、
@charset "UTF-8";
と指定していながら、ファイル自体を「Shift_JIS」で保存してしまうと、HTMLならブラウザで表示したときに文字化けが、CSSなら設定が反映されないことが起こり得ます。
ファイル内の指定と、ファイル自体の文字コード(作成したファイルを保存するときに指定できると思います)は同じものにして下さい。
それさえ正しければ、HTMLとCSSの文字コードが違っても問題ないでしょう(あとのことを考えれば、同じほうがいいとは思いますが)。
あとは、念のために改行コードも確認しておいたほうがいいかも知れません。
答えになっていますか?
この回答への補足
お答えありがとうございました。
とりあえずCSSファイルが@charset "UTF-8";でも良いとのことで安心しました。
ただ、CSSファイルは他の人がUTF-8で作ったものの上から、私がDreamwervwe上で書き足していっているので、途中からShift_JISで書かれているのではないかと思います。
このファイルを全部UTF-8またはSHIFT_JISに変更しておいた方がいいですよね?その場合のやりかたなどはわかりますでしょうか?
>あとは、念のために改行コードも確認しておいたほうがいいかも知れません。
これはどこで見ればよろしいでしょうか・・?
何度もすみません。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
ひとつのファイルの中に複数の文字コードが混在することはありません。
Dreamwerverで書き足したときに、どちらか(文面からすると、たぶん「Shift_JIS」)に統一されていると思いますから、そのあたりの心配は不要です。
ファイルの文字コードや改行コードですが、たいていのソフトではステータスバーに表示されるようになっています。
Dreamwerverはどうでしょうか?
もし表示されていなければ、そのHTMLファイルやCSSファイルをテキストエディタ(Windows標準の「メモ帳」ではダメです)でひらいてみてください。
たとえば「TeraPad」なら、右下に「SJIS」「CRLF」(これは文字コードが「Shift_JIS」、改行コードが「CR+LF」という意味です)と表示されます。
どちらにしても、開いたファイルを保存するときに、単純な上書きではなく、メニューから「文字/改行コード指定保存」(もしくは似たような表示のもの)を選べば、ファイルの文字コード、改行コードを変更できます。
同時に、Dreamwerverの設定も確認して下さい。
常に「Shift_JIS」で保存される設定だと、一度「UTF-8」にしても、またすぐに「Shift_JIS」にもどってしまいます。
設定を変えて、開いたときと同じ状態で保存するようにしましょう。
あるいは、常に同じ文字コード・改行コードで保存する設定にしてもいいです。
その際、文字コードはファイル内(metaタグや@charset)で指定したものにあわせて下さい。
ただし、他の文字コードのファイルを開くときは注意しないと、気付かないうちに(文字コードなどを)変えてしまうかも知れませんが。
改行コードについてですが、基本的にはサーバで使われているものにあわせます。
UNIX系なら「LF」、Windows系なら「CR+LF」です。
(「CR」はMac)
ただ通常は、FTPでサーバにアップロードするときに、自動的にサーバの使用コードにあわせられますから、気にしなくてもいいですが。
あと、「UTF-8」を使う場合に重要な注意を。
他の国のことは知りませんが、日本の多くのテキストエディタやHTMLエディタは、ウェブ上で使われる「UTF-8」を「UTF-8N」と表記します。
両者の違いは「BOMがついているかいないか」で、エディタでは「UTF-8」がBOM付き、「UTF-8N」がBOMなしを表すようになっています。
(BOMについては複雑なので説明を省きます)
なので、両方選べるようになっていたら「UTF-8N」を選択して下さい。
「UTF-8」にしてしまうと不具合の原因になります。
ちなみに、上で「メモ帳」がだめだと書いたのは、ここにも理由があります。
「メモ帳」では、「UTF-8N」にできないのです。
おまけに、「UTF-8N」で書かれたファイルをひらいて上書き保存すると、勝手に「UTF-8」にしてしまいます。
こまったものですね。
ご丁寧な説明をありがとうございました。
いろんな本を読んでもわかりにくかったことが、なんとなくわかってきたような気がします。
CSSはDreamwerverではわからなかったので、「TeraPad」で開いてみると「UTF-8N」「CRLF」となっていました。
お話を総合すると、CSSの一行目には
@charset "utf-8";ではなく
@charset "utf-8N";と入れておいた方がいいんでしょうか?
No.3
- 回答日時:
すいません、混乱するような書き方になってしまっていたでしょうか。
「UTF-8N」というのは、あくまでもエディタがそう表示するようになっているというだけで、HTMLファイルやCSSファイルでは使うことはありません。
というか、
HTMLなどでの「UTF-8」=エディタでの「UTF-8N」
ということです。
ですから、HTMLなら
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
CSSでは
@charset "UTF-8";
という書き方が正解です。
つまり、今のままでいいということです。
「N」の有無は、あくまでも、保存するときの注意ですから。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML入門でもう躓いてしまった。
-
htmlファイルの表示が真っ白
-
HTMLの保存ができない テキスト...
-
テキストファイルで下線を引く
-
eclipseを使ってweb上に表示さ...
-
DreamWeaverのメリットが分かり...
-
ワードで保存したWebファイルが...
-
【文字コード】UTF-8だとDreamW...
-
Dreamweaverでソースが文字化け...
-
jspファイルが作れません
-
ホームページを作りたいのです...
-
Webデザインテンプレート 使い方
-
URL収集を簡単に行なってリ...
-
HP作成で…日本語と韓国語表示
-
ホームページでファイルをダウ...
-
<!DOCTYPE html>あってますか?...
-
<!DOCTYPE html>あってますか?...
-
HTMLからフォルダを開きたい
-
form action="#"
-
iPadの標準ブラウザでローカルH...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlファイルの表示が真っ白
-
Dreamweaverでページ全体が文字...
-
Dreamweaverでソースが文字化け...
-
テキストエディタvscodeでプロ...
-
エクセルで作成した表のハイパ...
-
HTML入門でもう躓いてしまった。
-
オフラインでのHTMLについて
-
テキストエディタ grepの機能...
-
CSSデータの作成方法について(...
-
htmlファイルが開けません。
-
HTMLファイルからリンクタグだ...
-
テキストファイルで下線を引く
-
SSIでインクルードしたファイル...
-
「x-sjis」「Shift_JIS」同じ意...
-
eclipseを使ってweb上に表示さ...
-
SSIでレイアウトが崩れる?
-
ホームページを作りたいのです...
-
半角カタカナ(csvやtxtデータ...
-
URL収集を簡単に行なってリ...
-
メモ帳でデータが消えるのです...
おすすめ情報