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

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

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

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

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Q&A

解決済

5回答

7151閲覧

【mariaDB】全てUTF8に統一したが文字化け

pecchan

総合スコア555

MySQL

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

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

0グッド

0クリップ

投稿2017/12/19 05:05

編集2017/12/19 06:21

MariaDB 5.5.52/ Cent OS7です。
Virtual Box上で稼働してます。

以下のように一通りUTF8に揃えたのですが、日本語が文字化けします。
イメージ説明

文字化けは、
CentOSにログイン後「mysql u -root」→「select * from テーブル名」で見る時に確認できます。

他に試したこととして、
etc/my.cnf.d/client.cnf
に以下を追加し、サービスを再起動しましたが変わらずでした。

txt

1[client] 2default-character-set=utf8 3 4[client-mariadb] 5default-character-set=utf8

文字化けしないためには、何が必要でしょうか?
宜しくお願い致します。

【追記】
SHOW CREATE TABLEで定義を確認しましたが、UTF8でした。

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

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

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

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

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

guest

回答5

0

ベストアンサー

  • Centos自体が日本語化対応されていますか?

日本語が記述したテキストファイルを作成してcatコマンドなどで確認する方法もあります。

設定参考→https://www.server-world.info/query?os=CentOS_7&p=japanese

  • 直接、接続していませんか?

Virtual Boxから直接Centosのバーチャル上では日本語は出力できません。
teraterm等のリモートソフト経由でアクセスする必要があります。

投稿2017/12/19 08:53

mosapride

総合スコア1480

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

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

pecchan

2017/12/20 01:03

仰る通りでした。 teratermにて日本語を正常に確認出来ました。 知識不足でした。有難う御座います。
guest

0

MySQL設定
まず、以下のファイルを cpして .old ファイルにしてバックアップ保持
/etc/my.cnf
/etc/my.cnf.d/client.cnf
/etc/my.cnf.d/mysql-clientes.cnf
/etc/my.cnf.d/server.cnf

CentOS7のMariaDB(Mysql)の設定、使い方
https://centosinstall.com/centos/centos7/mariadb

my-small.cnfの内容をserver.cnfに上書き
cp -p /usr/share/mysql/my-small.cnf /etc/my.cnf.d/server.cnf
cp: overwrite ‘/etc/my.cnf.d/server.cnf’?と表示されたら「yes」エンター

/etc/my.cnf 内の [ hoge] 部分にそれぞれ以下の設定を追加

[mysqld] character-set-server=utf8

/etc/my.cnf.d/server.cnf 内の [ hoge] 部分にそれぞれ以下の設定を追加

[client] default-character-set = utf8 [mysqld] character-set-server = utf8

という感じでした。これでいかがでしょうか?

投稿2017/12/19 06:39

sakamata

総合スコア203

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

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

pecchan

2017/12/20 01:05

お付き合い頂き有難う御座いました。 今回は、VirtulBoxの日本語環境が原因でしたが参考になりました。 有難う御座います。
guest

0

あいまいですみません、過去に同じ現象で苦労してGitのログにこんなのが残っていました。

php

1// CentOS7 PHP5.4 & MariaDB5.5.5.6 では指定が必要 2$con->query("set names utf8");

つまり、SQLを発行する際に毎回 "set names utf8" を付けないと文字化けを起こしてしまうバージョンが存在して、それを解明するまで数日苦しみました。

これが要因であることは考えられないでしょうか?
試しにクエリの最後? に set names utf8 を付けて出力を試されてみてはいかがでしょうか?

投稿2017/12/19 06:29

sakamata

総合スコア203

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

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

pecchan

2017/12/19 06:34

sakamata様 有難う御座います。 set names utf8; のあとに selectしましたが、変わりませんでした。
sakamata

2017/12/19 06:37

うーん、違いましたか。過去設定したメモがあるので、それを別途貼り付けます。参考になれば
guest

0

つLANG=ja_JP.UTF-8

投稿2017/12/19 05:55

hichon

総合スコア5737

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

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

pecchan

2017/12/19 06:22

hichon様 有難う御座います。 こちらは、どこに対して設定するのでしょうか?
hichon

2017/12/20 02:17 編集

LANGは環境変数です。CentOSに日本語環境がインストールされていれば、Terminalで確認出来ます。 $ printenv LANG ja_JP.UTF-8
guest

0

最初にテーブル自体をlatin1で作ってしまえば、当然日本語はまともに入れられなくなります。

SHOW CREATE TABLEなどで、列定義もutf8になっているか確認しましょう。

なお、MySQL・MariaDBのutf8BMP内の文字しか扱えません。絵文字や「????」野家の「つちよし」のような文字については、utf8mb4という別な設定が必要です。

投稿2017/12/19 05:51

編集2017/12/19 05:51
maisumakun

総合スコア145184

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

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

pecchan

2017/12/19 06:20

maisumakun様 有難う御座います。 書き漏れていました。 すでにSHOW CREATE TABLEで定義は、確認済みでした。 最初にCreateした時にlatin1だったのかも?と思い、 Drop Tableして再度、Createしました。 ですが現状、変わらずです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問