<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>заметки на полях &#187; mysql</title>
	<atom:link href="http://svdev.ru/tag/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://svdev.ru</link>
	<description>Блокнот разработчика</description>
	<lastBuildDate>Wed, 19 May 2010 07:42:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MySQL различные UTF &#8211; utf8_bin и utf8_general_ci</title>
		<link>http://svdev.ru/blog/mysql-different-utf/</link>
		<comments>http://svdev.ru/blog/mysql-different-utf/#comments</comments>
		<pubDate>Wed, 19 May 2010 07:42:14 +0000</pubDate>
		<dc:creator>Дерябин Сергей</dc:creator>
				<category><![CDATA[неразобранное]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://svdev.ru/?p=548</guid>
		<description><![CDATA[Чем же отличаются эти два collate для таблиц?
utf8_bin &#8211; использует сравнения по двоичным значениям каждого символа
utf8_general_ci &#8211; использует сравнения на основе языковых особенностей и игнорирует регистр символов.
Для наглядности приведем небольшой эксперимент.
CREATE TABLE &#160;peoples &#40;
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
first_name VARCHAR&#40; 255 &#41; CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
last_name VARCHAR&#40; 255 [...]]]></description>
			<content:encoded><![CDATA[<p>Чем же отличаются эти два collate для таблиц?<br />
<strong>utf8_bin</strong> &#8211; использует сравнения по двоичным значениям каждого символа<br />
<strong>utf8_general_ci</strong> &#8211; использует сравнения на основе языковых особенностей и игнорирует регистр символов.</p>
<p>Для наглядности приведем небольшой эксперимент.</p>
<div class="codecolorer-container sql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> &nbsp;peoples <span style="color: #66cc66;">&#40;</span><br />
id INT <span style="color: #993333; font-weight: bold;">UNSIGNED</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">,</span><br />
first_name VARCHAR<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">255</span> <span style="color: #66cc66;">&#41;</span> CHARACTER <span style="color: #993333; font-weight: bold;">SET</span> utf8 COLLATE utf8_general_ci <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #66cc66;">,</span><br />
last_name VARCHAR<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">255</span> <span style="color: #66cc66;">&#41;</span> CHARACTER <span style="color: #993333; font-weight: bold;">SET</span> utf8 COLLATE utf8_bin <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><br />
<span style="color: #66cc66;">&#41;</span> ENGINE <span style="color: #66cc66;">=</span> INNODB CHARACTER <span style="color: #993333; font-weight: bold;">SET</span> utf8;<br />
<br />
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> &nbsp;peoples <span style="color: #66cc66;">&#40;</span>first_name<span style="color: #66cc66;">,</span> last_name<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Петя'</span><span style="color: #66cc66;">,</span> &nbsp;<span style="color: #ff0000;">'Иванов'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'андрей'</span><span style="color: #66cc66;">,</span> &nbsp;<span style="color: #ff0000;">'иванов'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Иван'</span><span style="color: #66cc66;">,</span> &nbsp;<span style="color: #ff0000;">'Петров'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Андрей'</span><span style="color: #66cc66;">,</span> &nbsp;<span style="color: #ff0000;">'Сидоров'</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> &nbsp;peoples <span style="color: #66cc66;">&#40;</span>first_name<span style="color: #66cc66;">,</span> last_name<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Петр'</span><span style="color: #66cc66;">,</span> &nbsp;<span style="color: #ff0000;">'Большой'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Пётр'</span><span style="color: #66cc66;">,</span> &nbsp;<span style="color: #ff0000;">'Большои'</span><span style="color: #66cc66;">&#41;</span>;</div></div>
<p><span id="more-548"></span><br />
Получаем такую вот табличку:</p>
<div class="codecolorer-container sql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> peoples <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> id <span style="color: #993333; font-weight: bold;">ASC</span>;<br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> first_name &nbsp; <span style="color: #66cc66;">|</span> last_name &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span><br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> Петя &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Иванов &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> андрей <span style="color: #66cc66;">|</span> иванов &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span> Иван &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Петров &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span> Андрей <span style="color: #66cc66;">|</span> Сидоров <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span> Петр &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Большой <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span> Пётр &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Большои <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span></div></div>
<p>Из-за разности сопоставления символов получаются различия в сортировке, если делать её по полю с <strong>utf8_general_ci</strong> получаем следующее:</p>
<div class="codecolorer-container sql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> &nbsp;peoples <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> &nbsp;first_name <span style="color: #993333; font-weight: bold;">ASC</span>;<br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> first_name &nbsp; <span style="color: #66cc66;">|</span> last_name &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span><br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> андрей <span style="color: #66cc66;">|</span> иванов &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span> Андрей <span style="color: #66cc66;">|</span> Сидоров <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span> Иван &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Петров &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span> Петр &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Большой <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span> Пётр &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Большои <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> Петя &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Иванов &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span></div></div>
<p>И не совсем ожидаемым образом отрабатывает запрос с сортировкой по полю <strong>utf8_bin</strong></p>
<div class="codecolorer-container sql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> &nbsp;peoples <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> &nbsp;last_name <span style="color: #993333; font-weight: bold;">ASC</span>;<br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> first_name &nbsp; <span style="color: #66cc66;">|</span> last_name &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span><br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span> Пётр &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Большои <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span> Петр &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Большой <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">|</span> Петя &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Иванов &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">|</span> Иван &nbsp; &nbsp; <span style="color: #66cc66;">|</span> Петров &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">|</span> Андрей <span style="color: #66cc66;">|</span> Сидоров <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">|</span> андрей <span style="color: #66cc66;">|</span> иванов &nbsp; <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+--------------+----------------+</span></div></div>
<p>Помимо всего прочего в <strong>utf8_general_ci</strong> некоторые буквы считаются идентичными, например ё = е:</p>
<div class="codecolorer-container sql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> peoples <span style="color: #993333; font-weight: bold;">WHERE</span> first_name<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'Петр'</span>;<br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> id <span style="color: #66cc66;">|</span> first_name <span style="color: #66cc66;">|</span> last_name &nbsp; &nbsp; &nbsp;<span style="color: #66cc66;">|</span><br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+----------------+</span><br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">|</span> Петр &nbsp; <span style="color: #66cc66;">|</span> Большой <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">|</span> &nbsp;<span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">|</span> Пётр &nbsp; <span style="color: #66cc66;">|</span> Большои <span style="color: #66cc66;">|</span> <br />
<span style="color: #66cc66;">+</span><span style="color: #808080; font-style: italic;">----+------------+----------------+</span></div></div>
<p>Отсюда же может появиться и проблема с уникальными ключами. В приведенной структуре уникальный ключ по полю first_name создать не получится, т. к. дублируются значения &laquo;Андрей&raquo; и &laquo;андрей&raquo;, а так же не совсем ожидаемые &laquo;Пётр&raquo; и &laquo;Петр&raquo;.</p>
<div class="codecolorer-container sql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> uq_peoples_first_name <span style="color: #993333; font-weight: bold;">ON</span> peoples <span style="color: #66cc66;">&#40;</span>first_name<span style="color: #66cc66;">&#41;</span>;<br />
ERROR <span style="color: #cc66cc;">1062</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">23000</span><span style="color: #66cc66;">&#41;</span>: Duplicate entry <span style="color: #ff0000;">'Пётр'</span> <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #cc66cc;">3</span></div></div>
<p>Зато по полю last_name создастся без проблем, в нем все значения различающиеся:</p>
<div class="codecolorer-container sql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">UNIQUE</span> <span style="color: #993333; font-weight: bold;">INDEX</span> uq_peoples_last_name <span style="color: #993333; font-weight: bold;">ON</span> peoples <span style="color: #66cc66;">&#40;</span>last_name<span style="color: #66cc66;">&#41;</span>;<br />
Query OK<span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">6</span> rows affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.06</span> sec<span style="color: #66cc66;">&#41;</span><br />
Records: <span style="color: #cc66cc;">6</span> &nbsp;Duplicates: <span style="color: #cc66cc;">0</span> &nbsp;Warnings: <span style="color: #cc66cc;">0</span></div></div>
<p>С проблемой уникальности я столкнулся при переводе старой таблички с пользователями из cp1251_general_ci в utf8_general_ci &#8211; логины &laquo;Ёлка&raquo; и &laquo;елка&raquo; перестали быть уникальными. Можно было создать эталонное поле utf8_bin (используемое только при авторизации) со значением приведенным к скажем нижнему регистру.</p>
<p>Ну и мануал: <a href="http://dev.mysql.com/doc/refman/5.1/en/charset-unicode-sets.html">Unicode Character Sets</a></p>
]]></content:encoded>
			<wfw:commentRss>http://svdev.ru/blog/mysql-different-utf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mysqldump и проблемы с кодировкой</title>
		<link>http://svdev.ru/blog/mysqldump-encoding-problem/</link>
		<comments>http://svdev.ru/blog/mysqldump-encoding-problem/#comments</comments>
		<pubDate>Mon, 11 May 2009 01:21:07 +0000</pubDate>
		<dc:creator>Дерябин Сергей</dc:creator>
				<category><![CDATA[неразобранное]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[кодировка]]></category>

		<guid isPermaLink="false">http://svdev.ru/?p=28</guid>
		<description><![CDATA[Делая дамп совершенно обычным способом
1mysqldump ads -u &#60;user&#62; -p &#62; dump.sql
Заметил маленькую неприятность, что дамп получается со сбитыми кодировками. Добавление к параметра 
--default-character-set=utf8
 облегчения не принесло и не возымело надо сказать вообще никакого эффекта. После небольшого периода гугления выяснилось, что дело не в утилите mysqldump, а в настройках кодировок на сервере.  Посмотрев текущие значения:
1mysql&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Делая дамп совершенно обычным способом</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqldump ads <span style="color: #660033;">-u</span> <span style="color: #000000; font-weight: bold;">&lt;</span>user<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">&gt;</span> dump.sql</div></td></tr></tbody></table></div>
<p>Заметил маленькую неприятность, что дамп получается со сбитыми кодировками. Добавление к параметра <strong></p>
<code>--default-character-set=utf8</code>
<p></strong> облегчения не принесло и не возымело надо сказать вообще никакого эффекта. После небольшого периода гугления выяснилось, что дело не в утилите mysqldump, а в настройках кодировок на сервере. <span id="more-28"></span> Посмотрев текущие значения:</p>
<div class="codecolorer-container mysql vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="mysql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql<span style="color: #CC0099;">&gt;</span> <a href="http://search.mysql.com/search?site=refman-%35%31&amp;q=SHOW"><span style="color: #990099; font-weight: bold;">show</span></a> variables<span style="color: #000033;">;</span></div></td></tr></tbody></table></div>
<p>Понял что нужно лезть в конфиг сервера. В раздел глобальных параметров файла <strong></p>
<code>/etc/mysql/my.cnf</code>
<p></strong> необходимо добавить что то вроде:</p>
<div class="codecolorer-container apache vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="apache codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[mysqld]<br />
<br />
default-character-set = utf8<br />
character_set_server = utf8<br />
character_set_client = utf8<br />
collation_server = utf8_general_ci<br />
skip-character-set-client-handshake</div></td></tr></tbody></table></div>
<p>Параметры которые могут понадобиться при этом:</p>
<ul>
<li><strong>
<code>character_set_client</code>
<p></strong> &#8211; кодировка, в которой данные будут поступать от клиента</li>
<li><strong>
<code>character_set_connection</code>
<p></strong> &#8211; кодировка по умолчанию для всего, что в рамках соединения не имеет кодировки</li>
<li><strong>
<code>character_set_database</code>
<p></strong> &#8211; кодировка по умолчанию для баз</li>
<li><strong>
<code>character_set_filesystem</code>
<p></strong> &#8211; кодировка для работы с файловой системой (LOAD DATA INFILE, SELECT &#8230; INTO OUTFILE, и т.д.)</li>
<li><strong>
<code>character_set_results</code>
<p></strong> &#8211; кодировка, в которой будет выбран результат</li>
<li><strong>
<code>character_set_server</code>
<p></strong> &#8211; кодировка, в которой работает сервер</li>
<li><strong>
<code>character_set_system</code>
<p></strong> &#8211; кодировка, в которой задаются идентификаторы MySQL, <strong>всегда UTF8</strong></li>
<li><strong>
<code>character_sets_dir</code>
<p></strong> &#8211; папка с кодировками</li>
<li><strong>
<code>skip-character-set-client-handshake</code>
<p></strong> &#8211; игнорировать клиентские настройки кодировки</li>
</ul>
<p>Но не смотря на правильную установку кодировок и сравнения для таблиц и строк данные писались в latin1. Это можно было определить по битому дампу. Решить можно довольно просто и в лоб &#8211; делаем дамп в latin1:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqldump <span style="color: #660033;">--default-character-set</span>=latin1 <span style="color: #660033;">--skip-set-charset</span> <span style="color: #660033;">-u</span> <span style="color: #000000; font-weight: bold;">&lt;</span>user<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">&gt;</span> b.sql</div></td></tr></tbody></table></div>
<p>Таким образом мы получаем правильный дамп, т.к. кодировка полученного sql будет UTF, с помощью параметра  <strong></p>
<code>--default-character-set=latin1</code>
<p></strong> мы сдампили данные в той кодировке в которой они и была добавлены (когда сервер брал кодировки по умолчанию) и убрали упоминания об этом с помощью аттрибута <strong></p>
<code>--skip-set-charset</code>
<p></strong> Осталось развернуть базу и можно пользоваться уже с новой кодировкой.</p>
<h3>Интересные материалы по теме</h3>
<p style="text-align: left;"><a href="http://www.lissyara.su/?id=1655" target="_blank">MySQL + кодировки</a></p>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html" target="_blank">MySQL 5.1 Reference Manual &#8211; Server System Variables</a></p>
<p><a href="http://webdesigns.su/webdesigns/index.php?option=com_content&amp;view=article&amp;id=18%3A-backup-&amp;catid=14%3A2009-03-24-10-41-09&amp;Itemid=33&amp;lang=ru" target="_blank">Как правильно делать backup базы данных сайта</a></p>
]]></content:encoded>
			<wfw:commentRss>http://svdev.ru/blog/mysqldump-encoding-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
