MojoプロジェクトでUnicodeとの戦いよりも少し時間を費やしました。貴重な時間と神経細胞を節約するために、私の経験を共有したいと思います。
そのため、次のことを確認する必要があります。
1.データベースはutf-8で実行されます。
たとえば、mysql:
my $ dbh = DBI-> connect($ dsn、$ user、$ pass、{mysql_enable_utf8 => 1});
#$ dbhを作成した後:
$ dbh-> {mysql_enable_utf8} = 1;
$ dbh-> do( "set names utf8");
これで、データベースで読み書きするすべてのデータはutf8になります。
2.データベースとテーブルに正しいエンコーディングがあります
データベースを作成するとき、書くことを忘れないでください
データベースfoobarを作成します。デフォルトの文字セット= utf8;
または、テーブルを作成するとき
テーブルfoo(idシリアル、name varchar(128)null以外)を作成します。デフォルトのcharset = utf8;
2.最初のすべてのテンプレートで
% use encoding 'utf8';
updコメント
者のおかげで、アイテム番号3は必要ありません
稼ぐ必要があります!