Небольшая заметка про utf-8 в Mojolicious

от автора

Я потратил чуть больше времени, чем мне хотелось бы, борясь с Юникодом в своем Mojo проекте, и теперь хочу поделиться полученым опытом, чтобы сэкономить вам несколько драгоценных минут и нервных клеток.

Итак, нужно убедиться, что:

1. Ваша база работает в utf-8.

На примере mysql:

 my $dbh = DBI->connect($dsn . "; mysql_enable_utf8=1", $user, $pass); # либо, после создания $dbh: $dbh->{mysql_enable_utf8} = 1; $dbh->do("set names utf8"); 

Теперь все данные, которые вы пишете или читаете из базы, будут в utf8.

2. У вас правильная кодировка в базе и таблицах

Создавая базу, не забудьте написать

 create database foobar default charset = utf8; 

Или, при создании таблицы

 create table foo (id serial, name varchar(128) not null) default charset = utf8; 
2. Во всех ваших шаблонах в начале написано

% use encoding 'utf8';

Должно заработать!

ссылка на оригинал статьи http://habrahabr.ru/post/192024/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *