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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

9955閲覧

php UTF-8 ページ内の一部だけShift-JISにする方法

hizirida

総合スコア36

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/06/05 22:56

編集2016/06/06 01:21

ワードプレス php UTF-8 のページの一部だけを

Shift-JIS 表示を可能にする方法はありますか?

現在phpに日本語書くと文字化けします。

<p>サンプル</p> ↓ <p>�T���v��</p>

一行だけ日本語のままにしたいと思っています。

詳細

現在プラグインの中のファイル(php)のカスタマイズを行っています。

元々phpには英文で書かれている文章を日本語化してあるので、

ブラウザ表示では1ページ丸ごと日本語です。

そのページ内に、任意に文章を追記すると文字化けします。

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

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

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

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

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

mpyw

2016/06/05 23:36

意図はなんでしょうか?現在のWebにおいて,UTF-8以外を採用するメリットは殆どありません.「Shift_JISじゃないとできない」と思い込んでいる,ということはないですか?
hizirida

2016/06/06 01:22

詳細を追記しました。
guest

回答4

0

日本語がShift_JISで書かれているならその部分をUTF-8に変換すべきです.日本語の表現のためにShift_JISを使うのは,「Windowsのメモ帳でも編集できる」ぐらいのメリットしかありません.まともなテキストエディタを使えばUTF-8も正しく編集できます.(それどころか,「Sublime Text 3」「Atom」など海外製の有名なエディタはUTF-8しかサポートしていないことのほうが多いです)

(もしかして,「日本語はShift_JISじゃないと書けない」と思い込んでませんか?むしろ英文しか無いなら文字コードはASCIIの一種類だけになりますし,日本語が入ってないとUTF-8/EUC-JP/Shift_JISなどを選択する意味がなくなります)

  • Windows向け: KanjiTranslator

  • OSX/Linux向け: nkfをパッケージマネージャから入れてください (OSXならbrew,Ubuntuならapt-get)

変換先コードは「UTF-8** (BOM無し)**」です.改行コードはどちらでもいいですが,どちらかといえばLF推奨です.

投稿2016/06/06 01:31

編集2016/06/06 02:13
mpyw

総合スコア5223

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

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

hizirida

2016/06/06 02:17

ご回答ありがとうございます。 解決しました。
guest

0

UTF-8で日本語は表示できます。
Shift-JISでないと表示できないことはありません。

日本語を記載したPHPファイルを UTF-8(BOMなし)で保存することで問題なく動作すると思います。

投稿2016/06/06 01:38

kaz.Suenaga

総合スコア2037

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

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

hizirida

2016/06/06 02:18

ご回答ありがとうございます。 UTF-8で保存したら表示できました。
guest

0

ベストアンサー

現在プラグインの中のファイル(php)のカスタマイズを行っています。

元々phpには英文で書かれている文章を日本語化してあるので、
ブラウザ表示では1ページ丸ごと日本語です。
そのページ内に、任意に文章を追記すると文字化けします。

プラグインのファイルを直接編集するのはお勧めしませんが、たぶんテキストエディタでの保存時に文字コードを選択せずに保存されているのではないでしょうか。

Windows の「メモ帳」以外の「UTF-8(BOM無し)」が編集できるエディタでそのファイルを開き、「名前を付けて保存」を選び、「文字コード」を「UTF-8(BOM無し)」に変えて保存してみてください。
お使いのエディタでも保存時の文字コード選択は可能だと思います。

【HTML、PHPファイルで文字コードUTF-8使用時の注意点(BOM有り、無し)|PHP工房】
http://www.php-factory.net/trivia/03.php


プラグインの編集箇所が $translated_text = __( 'text', 'domain' ); のように __() _e() 関数が使われている箇所であれば、翻訳ファイルを用意すれば変更可能です。

【【WordPress】「__()」と「_e()」について – ysklog】
http://ysklog.net/wordpress/1616.html

【WordPress の翻訳 - WordPress Codex 日本語版】
https://wpdocs.osdn.jp/WordPress_%E3%81%AE%E7%BF%BB%E8%A8%B3

また、その1箇所(もしくは少数)のみなら、functions.php で制御する方法もあります。こちらのほうがアップデートにも対応しやすい気がします。

【gettextフィルタを用いたWordPress管理画面カスタマイズ】
http://ounziw.com/2011/06/22/gettext-filter/

投稿2016/06/06 02:01

編集2016/06/06 02:24
kei344

総合スコア69366

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

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

mpyw

2016/06/06 02:12

メモ帳でUTF-8保存するとBOM入っちゃうのでNGです…
kei344

2016/06/06 02:21

To: mpyw ご指摘ありがとうございます。なるべくWindows環境でもともと入っているものを例にと考えたのが甘かったですね。本文を編集します。
hizirida

2016/06/06 02:25

エディターはTeraPadを利用していますが、 確認すると、「Shift_JIS」で保存されていました。 結局は初歩的な問題だったんですね。 今後間違えないよTeraPad初期設定をUTF-8にしました。 ありがとうございました。
hizirida

2016/06/06 02:29

> メモ帳でUTF-8保存するとBOM入っちゃうのでNGです。 以前やらかしたことありました。
kei344

2016/06/06 02:35

To: hizirida > TeraPad初期設定をUTF-8にしました。 「初期文字コード」でしょうか?その場合海外プラグインなどの編集をした際に保存時にSHIFT-JISで保存されます。「保存文字コード」を設定することもできますが、意図しない文字コード変換をしてしまいそうなので私は「ステータスバー」右下の文字コードを確認することを癖にしています。
hizirida

2016/06/06 02:50

kei344さん ご指摘ありがとうございます。 おっしゃる通り、私も確認時に右下の文字コードを見ました。 でぇ、SHIFT-JISになっていたわけで・・・。 また、カスタマイズしたプラグインも海外のものです。 色々とアドバイスまでしていただき感謝いたします。
guest

0

<p>サンプル</p> という文字が文字化けするというならそれは設定の問題ではないかと思います。 1行だけできても、他に日本語として表示する場面があれば、それは根本的な解決とはなりません。 php.iniのdefault_charsetをUTF-8にすることで直るかもしれません。 [XAMPPの文字化けをphp.iniの設定で直す方法【初心者向け】](http://techacademy.jp/magazine/2412)

投稿2016/06/06 00:39

date

総合スコア1820

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

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

hizirida

2016/06/06 01:24

すみません。 詳細が足りなかったようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問