1. Aliasを書き忘れていないか。
Sample |> Repo.all()
これを書くなら、defmodule内に下記のようなaliasを記述していなければいけない。
alias Project.Context.Sample
2. DBの文字コード
例えばMySQLと、クエリで文字コードが異なると発生する。
その場合、MySQLの文字コードをutf8
にする。
MySQLのmy.cnf
の[mysqld]
直下でutf8
を指定する記述をします。
[mysqld]
## UTF 8 Settings
init-connect='SET NAMES utf8'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
確認します。
mysql> show variables like '%char%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)