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

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

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

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

1493閲覧

CakePHP2のブログのチュートリアルでの文字化け

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2017/04/21 01:16

編集2017/04/21 05:13

現在CakePHP2のブログチュートリアルに取り組んでいるのですが、

https://book.cakephp.org/2.0/ja/getting-started.html#id2

このように文字化けで表示されてしまいます。
どうすればいいでしょうか。助けてください。

~画像(14:10更新)~

おひるごはん食べたにゃ。で、my.iniを言われた通りこうして
イメージ説明

php.iniも言われた通りこうしたけど
イメージ説明

このまんまだにゃ・・・(文字化け)
イメージ説明

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

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

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

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

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

kunai

2017/04/21 01:32

テーブルの文字コードは何になっていますか?「show create table posts;」で見てみてください
退会済みユーザー

退会済みユーザー

2017/04/21 01:37

ありがとうございます!(涙)画像を載せました。
kunai

2017/04/21 01:40

答え出てそうじゃないですか?latin1の文字コードになってますね。ついでに他もlatin1になってそうなので「show variables like 'char%';」もして見て下さい
退会済みユーザー

退会済みユーザー

2017/04/21 01:43

載せましたでし・・・><;
kunai

2017/04/21 01:45

なんかごっちゃりしちゃってますね。。クライアントからはShiftJISで読みたい感じですか?全部UTF8にしちゃっていい感じですか?
退会済みユーザー

退会済みユーザー

2017/04/21 01:46

全部・・・utf8に・・・してみます><!!
kunai

2017/04/21 01:49

ご自身で出来るのであればその方がいいですね。また問題があれば追記ください。
退会済みユーザー

退会済みユーザー

2017/04/21 01:51

ありがとにゃ!
退会済みユーザー

退会済みユーザー

2017/04/21 01:55

書いたから見てにゃ。utf8に統一してもこうなるのにゃ。
kunai

2017/04/21 02:06

tableのcharsetは変更しましたか?「alter table posts default charset=utf8;」
退会済みユーザー

退会済みユーザー

2017/04/21 02:17

変えたにゃ・・・ちょっと今から写真載せるにゃ・・・
date

2017/04/21 02:18

文字コードを変えてもデータ内は文字化けしたままです。もう一度データを入れてください
kunai

2017/04/21 02:19

元々、ShiftJISで来た値をLatin1で保存してるデータですので、一度新しい値をINSERTして見て下さい。
退会済みユーザー

退会済みユーザー

2017/04/21 02:20

写真さっき新しく載せたにゃ。alter table posts default charset=utf8;しても「???」だにゃ。dateさんもありがとうにゃ。もう一度データを入れるってことはどういうことかにゃ?postsをつくりなおすのかにゃ?表示させるだけかにゃ。
退会済みユーザー

退会済みユーザー

2017/04/21 02:21

>>元々、ShiftJISで来た値をLatin1で保存してるデータですので、一度新しい値をINSERTして見て下さい。←これの意図することが情報弱者過ぎてわかんにゃいけど、調べてみるにゃ。postsをつくりなおすってことじゃにゃいですよにゃ?
kunai

2017/04/21 02:24

まぁ作り直してもいいですけど、今あるID:1, 2, 3の値をDeleteして、新しくInsert intoすればよいのではと言う事で。とりあえず「INSERT INTO posts VALUES(4, '日本語', '2017-04-21 11:24');」とかして値を登録してください。
date

2017/04/21 02:31

チュートリアルだからデータが変わると結果が変わって混乱するかもしれないのでテーブルの作り直しの方を私は推奨します
退会済みユーザー

退会済みユーザー

2017/04/21 02:45

kunaiたま、dateたまありがとうございますにゃ。作り直したんですが、相変わらず文字化けがなおらないですにゃ・・・。
退会済みユーザー

退会済みユーザー

2017/04/21 02:49

今から画像載せるからみてにゃ
kunai

2017/04/21 02:50

作り直したのであれば、現状どうなっているかを改めて見せていただけますか。
退会済みユーザー

退会済みユーザー

2017/04/21 02:51

載せたにゃ^ω^にゃー
date

2017/04/21 02:54

設定ファイルmy.cnfの方は修正しましたか
退会済みユーザー

退会済みユーザー

2017/04/21 02:55

たぶんやってないと思いますにゃ。それってなにかにゃ・・・調べなくちゃわかんないにゃ・・ありがとうございますにゃ!
kunai

2017/04/21 02:55

titleカラムの文字コードがlatin1になってますので。。。「ALTER TABLE posts CONVERT TO CHARACTER SET utf8;」
退会済みユーザー

退会済みユーザー

2017/04/21 03:05

やってみたにゃ><画像載せたにゃ。
kunai

2017/04/21 04:23

新しい値をInsertして見て下さい
退会済みユーザー

退会済みユーザー

2017/04/21 05:13

やり方調べるにゃ!
退会済みユーザー

退会済みユーザー

2017/04/21 05:51

やろうとしたらColumn count doesn't match value count at row 1ってでたにゃ・・・
8-0_nyan5

2017/04/21 06:09

詳しくないけど画像を見る限り設定が有効になってないような気がします。
退会済みユーザー

退会済みユーザー

2017/04/21 06:10

ふにゃあ・・・・
guest

回答2

0

以下を試してみてください。
・mariadbの設定(my.cnf)にcharacter_set_server = utf8 を追加
・phpの設定(php.ini)にdefault_charset = "UTF-8" を追加
・mariadbとweb serverを再起動

追記:
失礼しました。xamppをご使用ですね。my.cnfの代わりに、
c:\xampp\mysql\bin\my.ini
を編集してください。

投稿2017/04/21 03:04

編集2017/04/21 03:17
irakoon

総合スコア38

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

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

退会済みユーザー

退会済みユーザー

2017/04/21 03:16

ありがとうございますにゃ。感謝感謝ですにゃ。でも、情弱過ぎて、my.cnfが見当たらないですにゃ。ちなみに、xamppですにゃ。
退会済みユーザー

退会済みユーザー

2017/04/21 03:33

すっごく優しいにゃあ。ありがとうにゃあ。今から色々見て、また画像載せるからまっててほしいにゃ。
退会済みユーザー

退会済みユーザー

2017/04/21 05:13

画像載せたにゃ!見てにゃ!
irakoon

2017/04/21 07:14

既にdateさんが回答くださっていますが、 my.ini中の #character_set_server = utf8 を character_set_server = utf8 に変更してください。 行頭に#があると有効な行として扱われません。コメント扱いになります。 php.ini中の ;default_charset="UTF-8" を default_charset="UTF-8" に変更してください。 行頭に;があると有効な行として扱われません。コメント扱いになります。 上記設定は、apacheとmariadbの再起動で有効になります。
guest

0

ベストアンサー

my.iniは#がコメントなので#を付けずに
character-set-server=utf-8
php.iniは;がコメントなので;を付けずに
default_charset="UTF-8"
に設定後mysqlとapacheを再起動してください

訂正 2017/04/21 16:55
すいませんmy.iniの設定が違っていました
character-set-server=utf8
utf8に"-"を外して入れてください

投稿2017/04/21 06:15

編集2017/04/21 07:56
date

総合スコア1820

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

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

退会済みユーザー

退会済みユーザー

2017/04/21 07:34

ありがとうございます。本当にありがとうございます。その通りにやると、mysqlが「utf8ってなんだよ」ってなるらしく、起動さえ出来なくなってしまうのです。コメントにしたらまた起動しました。そのコメントを外すと、mysqlを一度シャットダウンしたあと、再度起動することができなくなってしまいます。mysqlにutf8をわからせなくてはならないよです・・・。
退会済みユーザー

退会済みユーザー

2017/04/21 08:11

>>訂正 2017/04/21 16:55 丁寧にご訂正頂きありがとうございます。 その通りにこちらも訂正したところ、MySQLは正常に作動しております。 しかし、相変わらず文字化けは収まっておらず「????」と日本語が表記されています。でも、本当に参考になりましたし、大いに助かっております。
date

2017/04/21 08:16 編集

もう一度データベースを作ってデータを入れても????と出ますか
退会済みユーザー

退会済みユーザー

2017/04/21 08:21

あ・・・ありがとうございます。貴方は私の恩師です。確かに、もう一度データベースを作り直したら、文字化けが直りました。本当に感謝しています。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問