Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/sinxcerity/www/wp-includes/pomo/plural-forms.php on line 210

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/sinxcerity/www/wp-content/plugins/wp-markdown/markdownify/markdownify.php on line 299
Nucleus + MySQL:wavedash問題 | SINxGularity

Nucleus + MySQL:wavedash問題

wavedashが文字化けするのでのチェック中・・・・
↓に波線書きます。

?

↑波線に見えたら成功、?なら失敗。

成功したので続きを書きます。
この問題、SQLをいじる人の間ではどうも有名な問題らしく、
WAVEDASH問題でググると色々と出てきた。
それらを参考にしながら試行錯誤を繰り返してなんとか解決。

まとめ:いったいなにが問題だったのか

データベース内にある全ての照合順序をutf8_general_ciに変更したつもりだったんだけど、
データベース内⇒各種テーブル、とここまでで止まっていて、
テーブル内にあるフィールドの照合順序までは見ていなかったのが原因。

フィールドの中にも照合順序があるなんて

itemテーブルが投稿に関するテーブルなのでひとまずここだけ変更して様子を見る事にします。

 

追記:問題はもっと深刻だった、修正箇所を探ってみた。

Devasの出番だ

2738件の修正箇所が俺を待ち受けていようとは夢にも思わなかった。
だが修正した。

 

しかし、それだけでも終わらなかった。

SQL文も修正

charset=jisをcharset=utf8に

SQL文中に含まれているujis設定を全てutf8に書き直した。
1つ目はフィールドの紹介順序設定で、2つ目は流し込むデータの文字コード設定だろう。
だろうと書いたのは推測だから。後で調べときます。
この作業をやっておかないとデータをインポートする度に紹介順序等の設定が上書きされてしまう。
phpmyadminで再設定してもインポート作業でそれがおじゃんになる。

というのを何度か繰り返した(シクシク)おかげでSQL文のこの部分には何が書いてあるのかがなんとなく推測できた。
作業自体はすぐ終わるんだ、問題なのはそれを見つけるまでの時間。
やる気の部分に関しては今は火がついているからその分でいつもより解決は早い

そんな感じよ。

2 comments on "Nucleus + MySQL:wavedash問題"

  1. 投稿ボタン押した段階でもう?になるね
    DBに登録された段階で変換失敗してるってことか。

Post a comment on "Nucleus + MySQL:wavedash問題"

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です