IPアドレス・ネットマスクの変換・チェック・統合・除外、国判定を簡単に。

こんな機能欲しいけど、自分で作るの面倒くさい!みたいな思いつきを
是非Twitterで意見投げてみてください。
時間は掛かるかもしれませんがコツコツ頑張るかも!?
Twitterリンクは下部)

IPアドレスから地理的位置情報(GeoIPLocation)の検索機能を公開しました。

Google or AdMax Promotion (ipvtop)

MySQLのエンコードを一時的に指定してデータを格納(登録・INSERT)する

MySQLに対してデフォルトエンコードとは異なるデータを格納する場合、
そのデータに合ったエンコードを一時的に指定し、データを格納することで、
文字化けなど無用な悩みを避けてデータを利用することができ安心です。
ここでは一時的にMySQLのエンコードを変更する手順をご紹介します。

MySQLのエンコードを一時的に指定してデータを格納(登録・INSERT)する

プロモーション

Google or AdMax Promotion (ipvpos)

ローカル環境など自分の権限でどうにでも変更ができる場合は、
そもそものデフォルトエンコードを変更してしまうのも一つの選択です。

しかしレンタルサーバー上のデータベースでは、
デフォルトエンコードが変更はできても、選択肢が限られていたり、
既に動いているCMSなどの影響を考えれば、変更したくない場合もあります。

そんな時に、特定のテーブルデータや今回の処理だけ、
エンコードを変更したデータを投入するような場合には一時変更が便利です。

ちなみにXSERVERであればMySQLデータベース作成時にエンコードが選択できます。

MySQL文字コード EUC-JP/UTF-8/Shift-JIS/Binary から選択可

これはデータベースのデフォルトエンコードを、
「utfmb4」や「cp932」にする事はできないという事です。
必要があれば、個別に対処する必要が発生します。

 

これは以下でご紹介したPHPの実行時に利用したものですが、
サンプルソースを貼っておきます。

 

11,12,13,15,16行目で発行しているSQL部分が、
一時的にエンコードの変更を行っている部分です。

実際には、以下のようにエンコードが指定されてSQLが発行されます。

set character_set_connection = utfmb4;
set character_set_server = utfmb4;
set character_set_database = utfmb4;
set character_set_client = utfmb4;
set character_set_results = utfmb4;

 

この環境ではデフォルトエンコードがUTF-8なのですが、
一時的に特定のテーブルに投入するデータに、
Unicodeの外字(4byte)文字を含むものを格納する必要があり変更しています。

変数にしているのは、その他「Shift-JIS」「cp932」のエンコードでも、
同様に実験を行っている為です。

このように、利用するデータに合せてエンコードを統一してから、
データの取り込みを行う事で、目的にあったデータの格納ができるようになります。

尚、この変更は、現在のMySQL接続を切ると無効になりますので、
都度、指定する必要があります。

また格納されるテーブル側も目的のエンコードに合せたテーブル構造としています。

格納したデータを実際に表示している例は以下でご確認いただけます。

 

尚、デフォルトエンコードの確認は以下手順で行えます。

 


公開日:
最終更新日:2019/06/20

シェア頂けると新機能開発の励みになります!!

最後までお読みいただきありがとうございました。
便利!と思って頂けたらシェアを是非お願いします。
ご意見・ご批判でも感じた事を気にせずご指摘ください。

アカウント新規作成の為、是非フォローもお願いします。(無言OK)

※このページでこんな情報も一緒に見れたら便利!などの
アイディア・ご意見もお聞かせください。

また弊サイトはすべて広告費と個人の自腹にて運営・開発を行っています。
皆様、お仕事中でお忙しいことと存じますが、
ご興味がおありの広告が目に留まりましたら
広告主様のサイトもご覧いただけますと励みになります。

QRコードからもこのURLを開けます。
リンク先URL: https://ipvx.info/everyones-db/mysql/insert-change-encoding/


AdMax Promotion

サイト内コンテンツ
すべて展開 | すべて省略

Google or AdMax Promotion (ipvlink)

Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください