小テストの文字化け

小テストの文字化け

- Tomo H の投稿
返信数: 6

初めて投稿させていただきます。

現在小テスト問題を作成しているのですが、記述式のテストでテキストに文字を入力した後、保存すると文字化けが起きます。


以前の投稿を検索してみると、作文問題で文字化けが起きている方と事象が一致しているようです。

https://moodle.org/mod/forum/discuss.php?d=280675

アドバイスを受けているやり取りを当方でも試しましたが状況は変わりませんでした。


別のサーバで稼働しているMoodleでは上手く動く(文字化けが起きない)ため、プログラム以外の何かが影響しているような気がするのですが、

原因や対処法などご存知の方いらっしゃいましたらアドバイスをお願いいたします。


バージョン情報

OS:CentOS 7.1.1503

Moodle:Moodle 3.2.6 (Build: 20171113)

PHP:7.0.9

MySQL:5.7.14

Apache:2.4.6

Tomo H への返信

Re: 小テストの文字化け

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

データベースモジュールでテキストフィールド (テキスト入力) に日本語のようなマルチバイト文字を入力した場合でも同じように文字化けしますでしょうか?

添付 moodle_database.png
Mitsuhiro Yoshida への返信

Re: 小テストの文字化け

- Tomo H の投稿

Yoshida様

早速ご回答いただき、ありがとうございます。

データベースモジュールで試してみたところ、やはりテキスト入力の値が文字化けしておりました。

DB環境か他の設定が影響を与えているということでしょうか。



Tomo H への返信

Re: 小テストの文字化け

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

別のサーバで稼働しているMoodleと現在文字化けしているMoodleの「管理 > サイト管理 > サーバ > PHP情報」画面の「mbstring」セクションの設定値を比較されてはいかがでしょうか。

Mitsuhiro Yoshida への返信

Re: 小テストの文字化け

- Tomo H の投稿

お手数おかけいたします。mbstringの設定を確認してみました。

違いのある項目だけ抜き出しています。(かっこが文字化けを起こしている方の設定です。)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

mbstring.detect_order : no value(auto)

mbstring.encoding_translation : Off(On)

mbstring.http_input : no value(auto)

mbstring.http_output : no value(UTF-8)

mbstring.internal_encoding :  no value (UTF-8)

mbstring.substitute_character : no value(none)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

サーバ構築の初心者なので、()内の設定に問題があるか(特にauto)わからずにいます。

また、自身で構築している環境ではない(サーバは外部)ため、phpの設定ファイルをいじりながら確認という作業がすぐにはとれないという問題があります。

ちなみに、文字化けが起こっているサーバはssl通信、正常なサーバはssl通信ではないという違いはありますが、それによる違いという可能性は低いでしょうか。

上記の箇所以外やphpの設定ファイル以外に追加で確認が必要なファイル等あればご教示願います。

Tomo H への返信

Re: 小テストの文字化け

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

Moodleプログラムを置いたディレクトリ内に下記を記述した「.htaccess」ファイルを置いて文字化けするかどうかご確認ください。

php_value mbstring.encoding_translation off

> ちなみに、文字化けが起こっているサーバはssl通信、正常なサーバはssl通信ではないという違いはありますが、それによる違いという可能性は低いでしょうか。

データベースモジュールの日本語フィールド名フィールド「サンプルテキストフィールド」が文字化けしていないようですので可能性は高くないと思います。

Mitsuhiro Yoshida への返信

Re: 小テストの文字化け

- Tomo H の投稿
返信が遅れまして申し訳ありません。

アドバイスをいただいた通り「.htaccess」ファイルを配置して確認しました。

無事、小テスト・データベースモジュールの文字化けが解消できました。

今回を機にphp設定の勉強も行いたいと思います。

本当にありがとうございました。