ブログ記事の投稿がラテン文字に文字化けしてしまう
juworks > ブログ記事の投稿がラテン文字に文字化けしてしまう @ 2014/7/15 10:49 |
---|
ブログを投稿すると、日本語部分が添付画像の通り、ラテン文字列(おそらくLatin-1)に文字化けしてしまいます。
固定ページの編集等、他の部分では文字化けは発生しておりませんでしたので、MySQLの文字コードに問題があるかと考え、以下の情報を出力しましたがMySQLの文字コードに問題は無さそうでした。 mysql> status 〜省略〜 Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 〜省略〜 mysql> show create database basercms; +----------+-------------------------------------------------------------------+ | Database | Create Database | +----------+-------------------------------------------------------------------+ | basercms | CREATE DATABASE `basercms` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+-------------------------------------------------------------------+ また、PHPのmbstringは以下のように設定しております。 mbstring.detect_order auto mbstring.encoding_translation On mbstring.func_overload 0 mbstring.http_input auto mbstring.http_output UTF-8 mbstring.http_output_conv_mimetypes ^(text/|application/xhtml\+xml) mbstring.internal_encoding UTF-8 mbstring.language Japanese mbstring.strict_detection Off mbstring.substitute_character no value 上記のとおり一通り設定は行っているのですがなかなか解決に至らず手詰まりという状況です。 どなたか分かる方がいらっしゃいましたら、解決方法、アドバイス等頂きたいです。 よろしくお願いいたします。 |
goichi > Re: ブログ記事の投稿がラテン文字に文字化けしてしまう @ 2014/7/15 11:33 |
---|
あまり詳しくもないのですが、テーブルの文字コードはどうなっているか少し気になります。
(データベースとは別に設定が入っていることも) とくに、(mysite_)pg_plog_postsというようなテーブルがあれば(カッコ内はプレフィックス)、 それが記事保存テーブルだと思いますので、一度、お確かめ下さい。 |
juworks > Re: ブログ記事の投稿がラテン文字に文字化けしてしまう @ 2014/7/15 11:46 |
---|
返信頂きありがとうございます。
mysite_pg_plog_postsテーブル内の内容を確認したところ、初めから入っているサンプルの記事については日本語で表示され、後から追加したものについては、Latin1文字列となっておりました。 DBに追加する際にLatin1文字列になってしまっていると思われます。 該当テーブルのCreate_Optionsはutf8_general_ciになっておりました。 何か分かりますでしょうか。よろしくお願いいたします。 |
goichi > Re: ブログ記事の投稿がラテン文字に文字化けしてしまう @ 2014/7/15 13:31 |
---|
DBもuft-8、TBLもutf-8、PHPもutf-8なのにLatin1になると。
あと、試すとしたらmbstring.http_inputの値を「auto」から「pass」にして、utf-8で入力されたものを内部変換しないようにスルーさせるとか、 my.cnfの中身に記述ミスとかないか(何かしらutf-8で設定した部分が効いてないとか)確認するとかしか、思いつきません。。。 自社設定のサーバーということですので、サーバー構築の過程の中で、文字コード絡みの設定が抜ける、または何かが意図せず効いているのかも知れませんね・・・。 お力になれず申し訳ありませんが、思いつくのは、そんな所です。。。。 |
juworks > Re: ブログ記事の投稿がラテン文字に文字化けしてしまう @ 2014/7/16 10:07 |
---|
返信頂きましてありがとうございます。
>あと、試すとしたらmbstring.http_inputの値を「auto」から「pass」にして、utf-8で入力されたものを内部変換しないようにスルーさせるとか、 こちらの方法でブログ記事を文字化けせず正常に投稿出来るようになりました! いろいろと確認事項、設定方法等教えていただきまして本当にありがとうございます。 根本的な原因は現状特定できておりませんが、サーバ上で他のPHPアプリを実行する予定は無いのでこの設定で本番環境を構築しようと思います。 根本的な原因が特定できましたら、またこちらに返信しようと思います。 それでは、どうも有り難うございました。 |