読者です 読者をやめる 読者になる 読者になる

不器用(TOT) エンジニアの気ままにプログラミング

~考え、作って、また考える~

viエディタ_ファイルの中身比較

viエディタ基本操作

ファイルの中身を比較する方法をメモ。

ネットで調べると記載があった方法。

 

<試すファイルの中身>

f:id:shevhome:20151104140701p:plain

f:id:shevhome:20151104140658p:plain

f:id:shevhome:20151104140704p:plain

f:id:shevhome:20151104140655p:plain

<比較してみる>
f:id:shevhome:20151104140744p:plain 

f:id:shevhome:20151104140802p:plain

 

なぜかスーパーユーザーだと、この比較が使えなかった…。

あと、比較結果に関しても、一部が違うと、

大きなまとまりで違うと認識されてしまうこともあるようなので、

別途、ツールを使って比較する方法も探してみたい。

viエディタ_単語/文字の移動、置換

viエディタ基本操作

忘れないようにメモ

<単語単位の移動>

w:次の単語へ移動

b :前の単語へ移動

 

<単語単位の置換>

cw :単語単位の削除+追加

    入力時に対象単語が削除されて入力モードに変更される。

 

<1文字単位の置換>

r :1文字を変換するときに使う。

       rキーを押して、1文字入力するとカーソルの1文字が置換される。

viエディタ_スラッシュ有りの文字置換

viエディタ基本操作

スラッシュ有りの文字置換の方法

 

通常は

:%s/mae/ato/g

 

となるが、置換したい文字列の中にスラッシュが

入る場合は「;」を用いる

:%s;/mae/aaa/;/ato/bbb/;g

 

 

 

 

Webページでの日本語の文字化け

Linux基本操作メモ

Webページで日本語を表示しようとした際、

文字化けが起きた。

 

例えば、下記のように日本語で「テスト」と表示させる。

f:id:shevhome:20151102133102p:plain

 すると、ページを表示すると

f:id:shevhome:20151102133032p:plain

と文字化けしてしまった。

 

これはなんでかと調べたところ、

ファイルの文字コードが「UTF-8」でなかったことが原因だった。

f:id:shevhome:20151102134145p:plain

 

で、なんで「IOS-2022-JP」という文字コード

登録されてしまったかを考えると、

以前、viの入力時に日本語が文字化けしてしまう現象が起き、

その対応を行っていた対応が間違っていたようだ。

shevhome.hateblo.jp

 

上記で、~/.vimrcを追加作成していたのだが、

そのファイルの中身は

f:id:shevhome:20151102134021p:plain

で作成しており、ファイルエンコードの指定をutf-8だけに変更した。

f:id:shevhome:20151102134401p:plain

 

再度、index.htmlを編集しようとすると、

日本語の対象箇所がutf-8で開き直したためだと思われるが、

文字化けする。

これを正しい日本語に編集して保存。

f:id:shevhome:20151102134510p:plain

 ↓

f:id:shevhome:20151102134641p:plain

 

そして、再度、ファイルの文字コードを調査。

f:id:shevhome:20151102134808p:plain

するとファイルの文字コードは「UTF-8」になった。

 

その状態で元々、日本語が文字化けしていたWebページを

ブラウザで確認すると、

f:id:shevhome:20151102134928p:plain

と日本語が表示された。

 

とりあえずは、この対処で治ったので様子を見てみる。

 

ファイルの文字コードを調べる

Linux基本操作メモ

ファイルの文字コードを調べるには

nkf」コマンドを使用するらしい。

 

参考にさせて頂いた記事はこちら。

qiita.com

 

上記の記事にも載っているが、

yumで「nkf」をインストール。

yum -y install nkf

 

 

使うときは下記の使い方。

nkf -g index.html

MySQLからのデータ取得

MySQL

MySQLからデータ取得して

チェックするところまでを作成したのでメモ。

 

ベタ書きの部分で直したい部分はまだ多いが、

とりあえず、基本フローのみ問題なく動く状態。

 

よくやるかもしれないが、

データ取ってきて、チェックして

f:id:shevhome:20151101171948p:plain

 ↓

オッケーなら下記を表示するページに遷移。

f:id:shevhome:20151101171955p:plain

 

これで、とりあえずMySQLからデータ取ってくることが

できていることが確認できた。

 

<ログイン処理(呼び出し側。HTMLは省略)>

f:id:shevhome:20151101172356p:plain

<テーブルデータ取得処理>

f:id:shevhome:20151101173320p:plain

<テーブルデータ取得の基底クラス>

f:id:shevhome:20151102111128p:plain

 

以上、あとは、テーブル増やしたり、

色々といじってみながら拡張していくことになるでしょう。 

エラー:Headers and client library minor version mismatch.

MySQL

PHPからMySQLへ接続を行おうとした際、

下記のようなエラーが発生した。

f:id:shevhome:20151102103835p:plain

 

これの原因をネットで調べると

PHPのバージョン

MySQLのバージョン

が異なることでそれぞれのライブラリのバージョンも

違ってきてしまうためらしいということだった。

 

そこで、まずは、バージョンの確認をしてみる

PHPのバージョンの確認>

コマンド:php -v

f:id:shevhome:20151102103747p:plain

MySQLのバージョンの確認>

コマンド:mysqladmin -u root -p version

f:id:shevhome:20151102104506p:plain

 

5.4と5.6だから、ずれているのか…。

ということで、PHPを再インストールしてみる

1. PHPをアンインストール

2. PHPをインストール

の順に実施する。

 

PHPのバージョンは5.6でインストールしたいので、

そのバージョンでのインストール方法をネットで

探すと下記があったので参考にさせて頂いた。

qiita.com

 

ちなみに、実施したコマンドは下記。

<1. PHPをアンインストール>

yum remove php php-*

2. PHPをインストール>

sudo yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof

 

これでとりあえず、バージョンを確認すると

5.6であることが確認できた。

f:id:shevhome:20151102105213p:plain

 

PHPMySQLがどちらも5.6になったので、

もともとのエラーはこれででなくなった。