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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

3回答

1268閲覧

データベースの文字列の一斉書き換え

kuwa-ta

総合スコア14

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2018/06/13 13:18

編集2018/06/14 02:06

データベース内の日本語を、すべて任意のアルファベットに変更する方法をご存知でしょうか?

目的は、ワードプレスで作ったサイトに何らかのエラーがあって、その原因を探しているのですが

日本語の文字化けがどうも怪しく、それで、まずはすべての日本語を半角のアルファベットに変換してみようと思いました。

内容維持は不要なので、例えば、とにかくずべてを aabbccddみたいなもの(何でも)にできればと思います。

あ、い、う、と一文字ずつ変換するのが大変なので、一括でできるコマンドなどはありませんでしょうか?

Root権限のあるVPSサーバーで、ウエブサイトはワードプレス、PHP7です。

宜しくお願いします。

--------------
14日 以下、補足しました。

エラーの予測が多義に渡り、サイトそのものが根幹が壊れていて特定が出来ないので開発者にページを渡してデバッグを依頼します。

もともと英語のためコンテンツが日本語の場合、いろいろとデメリットが多く、リアルコンテンツなのでそのまま渡すというのも現実的でないと判断しました。

そこで、CSSやHTMLなどのマークアップを残し、原型デザインをキープした状態で
日本語コンテンツなどの部分はダミーに置き換えて、それで、レイアウト破綻などの原因を探って貰うために
一斉変換にて、日本語→アルファベットにと考えました。

ちなみに、編集画面では問題なく、ブラウザーやスマホで見ると大きく壊れるのでCSSやキャッシュあたりなんだとうかという推測はしています。

あ→a、い→b と、チェックのためにコンテンツの内容は重要でないので適当な変換ができればそれでよく、
もし、英語で構造エラーが出ない場合は、日本語が原因ということで絞れると考えました。

検索では、こういう構文があるのは見つけましたが、データベース変換でどう生かすか分りません。

if(!preg_match("/^[ァ-ヾ]+$/u", $value))  カナチェック
if(preg_match("/^[ぁ-ん]+$/u",$_POST[$name])  ひらがなちぇっく
全額の数字は分りませんでした。

よろしく、お願いします。

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

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

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

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

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

cateye

2018/06/13 13:41 編集

エラーの原因を探すのが先だと思いますが、原因が特定できないのは何故でしょうか?本当にDBの問題でしょうか?
kuwa-ta

2018/06/14 02:06

ありがとうございました!補足しました。
guest

回答3

0

データ起因による障害を疑う場合でも、変更したい内容のデータをワンセット追加すれば確認は可能だと思います。
全部のデータを一斉に変えるより、疑わしいところから徐々に適用するほうが絞り込みもできますしね。

デバッグと組み合わせて、ロジックで変数内の値を差し替えしたりとかで確認するのが普通じゃないかと思いますが、そうしない理由があるんでしょうか?

投稿2018/06/14 00:49

sazi

総合スコア25195

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

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

kuwa-ta

2018/06/14 02:06

ありがとうございました!補足しました。
guest

0

ベストアンサー

MySQLの実行環境がないので、概要だけで。

INFORMATION_SCHEMA COLUMNS テーブル から半角のアルファベットに変えたい TABLE_SCHEMA, TABLE_NAME の DATA_TYPE が日本語が設定されている COLUMN_NAME に 'aabbccdd' (桁あふれや一意制約に注意)を更新するUPDATE文を生成して実行しては?

投稿2018/06/13 19:25

Orlofsky

総合スコア16415

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

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

kuwa-ta

2018/06/14 02:06

ありがとうございました!補足しました。
Orlofsky

2018/06/14 02:15

漢字の部分をどうやって範囲を取得するのかわかりませんが、マルチバイト文字を排除するなら、とりあえず、 UPDATE TABLE_NAME1 SET COLUMN_NAME1 = 'aabbccdd', COLUMN_NAME2 = 'aabbccdd', ... で良いのでは?
kuwa-ta

2018/06/14 10:18

ありがとうございました。
guest

0

内容をかえたいんですよね?

SQL

1update `table` set `col` = 'aabbcc';

とかじゃないでしょうか。

投稿2018/06/14 00:58

papinianus

総合スコア12705

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

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

kuwa-ta

2018/06/14 02:06

ありがとうございました!補足しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問