xamppのphpmyadminで「Unknown collation: ‘utf8mb4_general_ci’」と出たら。

他のバージョンのxamppを起動させたりしているうちに、
いつも使うxamppのphpmyadminに
「Unknown collation: ‘utf8mb4_general_ci’」
とうエラーが出ました。

ブラウザのキャッシュやクッキーを削除したら治りましたので、報告しておきます。

mysql_の関数とPHPのバージョン注意。

PHP5.3からPHP5.5になっ(て)たサーバで、

mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli

エラー発生。

mysqli_connect(): にしなさいよということのようです。

【PHP】関数 mysql_… を mysqli_… へ書き換える。

を参考に変更。このとき、「host」と「ポート」を分けることに注意。今までは「host:ポート」だったんですが、ポートは別に必要なのですね。

mysql_で始まる関数は、「mysqli_」に変えたほうがよく(たぶん変数の型が変わっちゃうから、接続を変えたら、次のデータ取ってくる部分とか、データを回すところとか全てに「期待している型と違うんですけど!」というエラーが出ます。

その際、変数の順番も変わることもあるので、エラー文章や関数のマニュアルをよく確認することです。

Warning: mysqli_query() expects parameter 1 to be mysqli, null みたいな「パラメーターが違うんだけどー」というエラー。

 

あと、今回出たのは

「Strict Standards: Non-static method」というエラー。

PEARなどでstrict standards non-static method pearとでるときの対処方法

を参考に、staticの宣言を見直しました。

 

こんなエラー、まだ出てくるかもねぇ。さすがに、cakePHPから外れたところのエラーだったので、まだ私にも直せませたが……。なおらなければどうしようかと思った。

GoogleAnalyticsがユニバーサルに勝手になってた件

(2014.11.21)下記の記事、自分で書いておいてなんだけど、なんだか違うような気もしてきたので、保留です。リンク先は参考になりますので、公開したままにしておきます。もう少しいろいろと探ってみることにします。

・セッション数が急増

・ページビュー数はそれほど変わらない

・1セッションあたりの平均ページビュー数が激減

・とあるページの閲覧開始数が急増。本当にめちゃくちゃ増えた。

という現象のあったサイトで、

自己参照 タグ付けが間違っているかページがタグ付けされていないため、プロパティ[url]に自己参照トラフィックが表示されている可能性があります。

という警告。

ウェブ トラフィックで自己参照が生じる原因

いろいろ調べていて、勝手にユニバーサル アナリティクスに変わってたことがわかりました。

緊急解説】ひと目でわかる!ユニバーサル アナリティクスへのケース別アップグレード方法(第92回)

アップグレードもしていないのに、管理画面がユニバーサル アナリティクス仕様に変わっている

トラッキングコードはそのままでもOK。
ただし、クロスドメインの設定は引き継げず、それでドメインが変わったところでセッションが切れていたもよう。
そりゃ、上のような現象が起こるのも全部説明が出来る。
ここ数日いろんなデータを並べて解析してた。もっと早く気づけと自分を腹立たしく思う。

複数ドメインのトラッキング クロスドメイン トラッキングを設定する

IE10でフォームからの投稿内容の改行が増える

最近サイトからのお問い合わせの内容の改行がおかしいという連絡が来ました。

——————-
こんにちは

おはよう
——————–

——————-

こんにちは

 

おはよう

——————–
のようになるという現象です。

結論から言うとIE10のtextareaの改行コードがIE9までと違うというのが原因でした。 改行コードを統一する処理をしていないメールフォームだったので、改行がおかしくなった模様。

改行が「0x0d,0x0a」を期待してプログラムを作ったけど、IE10では「0x0a,0x0a」になってるからおかしくなるようです。

プログラムでは

$str = str_replace(“\n\n”, “\r\n”, $str)

と言う処理を追加すれば治りました。

参考ページ(ありがとうございます)
改行コードの変換
http://okwave.jp/qa/q8109549.html
再:IE10 textarea の改行が増えてしまいます。
http://answers.microsoft.com/ja-jp/ie/forum/ie10-windows_8/%E5%86%8Die10-textarea/6ee92b5a-46dd-498d-83d8-eede6ec69864
ブラウザ毎のテキストエリア内の改行コードの違い
http://tech.nsymtks.jp/newlines-in-textarea-on-different-browsers/

document.getElementByIdでエラーが出るように

IE6までは動作確認ができていたjavascriptで、document.getElementByIdでエラーがでるようになった。

調べてみると、IE8からはdocument.getElementByIdでは、nameの検索を行わないそうです。参照: IE8での変化点一覧 + 備忘録(@latest log

なので、getElementsByNameを使うように。

このときに、注意しなくちゃならないのは、配列形式で返すということ。
だから、document.getElementById(”test”).valueでとれていた値は、getElementsByName(”test”)[0].valueとなる。

そして、私がはまったのは・・・・・・

getElementsByName

複数形だってところ・・・・・・。ご注意を!

ファイルアップロードができない

ファイルのアップロードができない。
(XOOPSのmyalbum)で真っ白になる。というケース。

1.ファイルのサイズは大きくないか。

2.ファイルの名前はおかしくないか。

今回のケースは、2でした。

“(ダブルクオーツ)
‘(シングルクオート)
=(イコール)
|(パイプ)
;(セミコロン)
:(コロン)
+(プラス)
*(アスターリスク)
<(小なり記号)
>(大なり記号)
.(ピリオド、ドット)
.(カンマ)
/(スラッシュ)
ツꀀ(スペース)
?(クエスチョン)
!(エクスクラメーション)
円マーク

は使わないでくださいねと。Windows側で制限しちゃうこともあるけど。
今回は、「.」を使ってらしたので。

普段、そういうことはしないので原因がなかなかわからないですね。
アップできないファイルを送ってもらって、ようやく「ああ・・・・・・」と思いました。

ちなみに、記号の名前はこちらを参考にしました。http://www.inetclub.jp/Key_kigou.htm

メールフォームから送信されたメールの本文が途中から文字化けする。

先日、XOOPSを大昔に導入させていただいたお客様から、相談がありました。
「メールフォームから送信してもらったメールの本文が途中からおかしくなってしまって・・・・・・」

保守から完全に離れたお客様だったので迷ったんですが、起こってる問題が問題だったので、勉強をかねて対応することに。

メールフォームの動きを調べるために、私が面倒くさがって改行をまったくしなかったメールが、途中からちらほらと文字化け。2回ほど一部分文字化けした後、全部文字化け。文字化けっていうか、%とか数字とかの羅列。これは見たことがある・・・・・・。

文字化けしているところに法則性がありそうだったので、何バイトで文字化けしてるのかを調べたりしてみて、ネットで検索するとこんな記事がありました。

mb_send_mail()関数に改行無しの長文を渡すと文字化け

どうも、改行なしだと1000バイトで改行コードが強制的に入れられるようです。(サーバによる?)
1000バイトも改行なしで入れられることがあるのかなぁとも思うんですけど、あるんですよね。

強制的に改行をしてやればいいんですけど、PHP側を触るとさすがに無償というわけにもいかないし。
HTMLのほうでなんとかならないかなぁと思って、<textarea>のタグにこれを加えることに。

「wrap = hard」

テキストエリアに文字を打ち続けると右端で勝手に折り返しますよね。普通はそこに改行コードは入らないんですけど、そこに改行コードが入るタグです。

ただし、ブラウザの独自機能のようです。IE8とFirefox3.5.5では確認済みです。

とりあえず、今できる範囲で対応いたしました。

ツꀀHTML/フォームtexterea要素のwrap属性について

mysql5.0.77 での文字化け

いつものうちの会社更新プログラムを、ふふふーんとサーバー移動でインストールしたら、データベースから引っ張った文字が文字化け!
他のサーバーと違うところっていったら、バージョンとかですが・・・・・・。

以前にもあったなぁ(mysqlバージョン 4.1.10a)と調べて、そのときの対応策をとりました。

CONNECTのタイミングで、

$dbh->do(“SET NAMES utf8”);

を入れる。これで解決。

調べているうちに、この$dbh->do(“SET NAMES utf8”);が一箇所じゃ収まらなかった例もあるみたいです。

MySQL 5.0.xの文字化け対策の試行錯誤(@うろぐ

MySQLのカラムの文字数

まさかありえないと思っていたことが起こるんだよ実際。
ということで、MySQLの文字数のこと。

そんなにいれるわけない。なんてことありえないんだよね。
とくにエディターが入ってると、タグがどんどんかさなっちゃったりして。

TINYTEXT:255 (2^8 – 1) bytes
TEXT:65,535 (2^16 – 1) bytes
MEDIUMTEXT:16,777,215 (2^24 – 1) bytes
LONGTEXT:4,294,967,295 (2^32 – 1) bytes

MySQL 文字数の制約(@storybook.mt)
ありがとうございました。

アイルのiCLUSTA[i-04]にWordPressをインストールでエラー

アイルのiCLUSTA[i-04]にWordpress2.8をインストールしようとしたら、Out of memoryのエラーが発生。
普通にsakuraのサーバーでバージョンアップできたから、まさかできないとは思わなかった。

オプションに、メモリ増設というのがあって、wordpressは1つ(10MB)を推奨するとあった。

実際にアイルに問い合わせると、メモリ増設でwordpress2.7.1の動作確認されているとのことです。
ちなみに、メモリ使用量は初期の状態では、約20MBらしいです。

で、いろいろと調べていて、ちょっとずつバージョンを下げてテストしていたら、こんなありがたい記事発見。

iCLUSTAにCMSをつっこんでみた際の覚え書き(追記) (@textbox.jp

ありがとうございますー。

(追記 2009.6.30)
オプションで10MB追加することでインストールできました。