<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Переход сайта с cp1251 на utf-8</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html</link>
    <description>Сервер на Windows 2003 R2&lt;br&gt;Apache2&lt;br&gt;perl 5.8.8&lt;br&gt;mod_perl2&lt;br&gt;Mysql51&lt;br&gt;&lt;br&gt;Сохранил все конфиги Apache2, Perl-кие модули с кодировкой UTF-8.&lt;br&gt;Прописал в заголовках: &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&amp;gt;.&lt;br&gt;В соединении с базой указываю: SET NAMES &apos;utf8&apos;&lt;br&gt;В перловских модулях указываю: use utf8;&lt;br&gt;При открытии странички, текст который был написан в скриптах с кодировкой utf-8 отображается нормально, а текст из базы каракулями.&lt;br&gt;&lt;br&gt;Подскажите куда рыть надо!!!&lt;br&gt;</description>

<item>
    <title>Переход сайта с cp1251 на utf-8 вопрос2 (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#9</link>
    <pubDate>Fri, 29 Feb 2008 04:41:21 GMT</pubDate>
    <description>Самый простой способ в этом разобраться сделать тестовую таблицу с указанием разных кодировок для полей и поиграться с ней записывая и считывая данные с разными set names причем делайте это в стандартном клиенте, а не в своей программе, дабы исключить лишний слой. Также стоит обратить внимание на значение таких переменных выдаваемых по &#092;s в стандартном клиенте&lt;br&gt;Server characterset:    latin1&lt;br&gt;Db     characterset:    latin1&lt;br&gt;Client characterset:    latin1&lt;br&gt;Conn.  characterset:    latin1&lt;br&gt;set names меняет последние два. &lt;br&gt;&lt;br&gt;После этого уже не тяжело будет выяснить в чем именно у вас проблема с уже существующими данными. Не исключен вариант что записаны данные в кодировке, отличной от указанной в свойствах таблицы/поля. &lt;br&gt;&lt;br&gt;Есть еще крайний вариант - использование binary вместо char/varchar, в этом случае мускул не совершает никаких преобразований, а отдает как есть, дальше уже на стороне приложения конвертим. Однако по ряду причин такой способ нежелателен. &lt;br&gt;</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 вопрос2 (egik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#8</link>
    <pubDate>Thu, 28 Feb 2008 04:31:57 GMT</pubDate>
    <description>ну так я указывал set names utf8&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 вопрос2 (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#7</link>
    <pubDate>Wed, 27 Feb 2008 16:24:23 GMT</pubDate>
    <description>Можно все, вопрос будет ли работать :)&lt;br&gt;Если вы скажете что поле имеет кодировку cp1251, а внутрь запихнете в utf8, то ничего хорошего не получите. Другое дело, если указано что поле в utf8, данные в нем в utf8, а обращаясь к базе вы ставите set names cp1251, то получите вы ответ в cp1251, при условии что конвертация возможна. Так что при условии конвертируемого набора символов можно писать и читать в произвольных кодировках, главное правильно указывать set names&lt;br&gt;</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 вопрос2 (egik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#6</link>
    <pubDate>Wed, 27 Feb 2008 11:58:12 GMT</pubDate>
    <description>Извини что так долго не писал!!!&lt;br&gt;MySQL я неочень знаю.&lt;br&gt;&lt;br&gt;Тогда получается я могу поставить на таблицу любую кодировку, а данные в этой таблице могут хранится в другой кодировке????&lt;br&gt;</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 (felix)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#5</link>
    <pubDate>Mon, 25 Feb 2008 01:52:52 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Скрипты не при чем. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Вы действительно думаете что так хорошо знаете perl? Боюсь вас разочаровать, но &lt;br&gt;&amp;gt;если вы с чем то не сталкивались, это не значит что &lt;br&gt;&amp;gt;такого не бывает. &lt;br&gt;&lt;br&gt;Сталкивался, но тут Вы правы. :-))&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Еще раз почитайте что делает set names, внимательно почитайте. У меня например &lt;br&gt;&amp;gt;есть таблицы где часть полей в utf8, часть в latin1, а &lt;br&gt;&amp;gt;часть в cp1251 и проблем не возникает. Опять таки не забывайте &lt;br&gt;&lt;br&gt;ну вот для такого случая Ваш вариант как раз и подходит. А скажите, для чего нужно хранение данных в разных кодировках в одной таблице? Кроме как для возможностей корректной сортировки, больше ничего на ум не приходит.&lt;br&gt;&lt;br&gt;&amp;gt;что конвертацию вашим методом зачастую нельзя делать в продекшеновых условиях, так &lt;br&gt;&amp;gt;как затянется она на часы, а за такое по головке не &lt;br&gt;&amp;gt;погладят. &lt;br&gt;&lt;br&gt;а на резервном сервере? &lt;br&gt;&lt;br&gt;&amp;gt;При этом я не отрицаю что у автора могли быть ошибки конвертации &lt;br&gt;&amp;gt;базы, но он вообще не упомянул что она конвертировалась. &lt;br&gt;&lt;br&gt;Ну да упоминаний не было. Было лишь сказано, что перех</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#4</link>
    <pubDate>Sun, 24 Feb 2008 17:46:24 GMT</pubDate>
    <description>&amp;gt;Скрипты не при чем. &lt;br&gt;&lt;br&gt;Вы действительно думаете что так хорошо знаете perl? Боюсь вас разочаровать, но если вы с чем то не сталкивались, это не значит что такого не бывает.&lt;br&gt;&lt;br&gt;&amp;gt;У топикстартера данные из базы выводятся некорректно. А &lt;br&gt;&amp;gt;такое бывает, если html-страница уже в юникоде, а данные из базы &lt;br&gt;&amp;gt;--в koi8-r или cp1251. Еще раз -- при переходе на другую &lt;br&gt;&amp;gt;кодировку спасает dump/restore с промежуточной перекодировкой данных в dump. Перекодировку можно &lt;br&gt;&amp;gt;сделать даже в kate или kwrite. &lt;br&gt;&lt;br&gt;Еще раз почитайте что делает set names, внимательно почитайте. У меня например есть таблицы где часть полей в utf8, часть в latin1, а часть в cp1251 и проблем не возникает. Опять таки не забывайте что конвертацию вашим методом зачастую нельзя делать в продекшеновых условиях, так как затянется она на часы, а за такое по головке не погладят. &lt;br&gt;При этом я не отрицаю что у автора могли быть ошибки конвертации базы, но он вообще не упомянул что она конвертировалась.&lt;br&gt;</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 (felix)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#3</link>
    <pubDate>Sun, 24 Feb 2008 17:32:16 GMT</pubDate>
    <description>&amp;gt;Что такое set names вы похоже не знаете, с условиями эксплуатации мускула &lt;br&gt;&amp;gt;за пределами хомпаг не знакомы. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Автору топика могу посоветовать внимательно просмотреть скрипты на наличие use utf8. Когда &lt;br&gt;&amp;gt;выводятся строки имеющие и неимеющие жестко поставленный флаг utf8_on, то что-либо &lt;br&gt;&amp;gt;из них превращается в крякозябры. Если use utf8 нужен для каких-либо &lt;br&gt;&amp;gt;операций, то можно ограничить его блоком. &lt;br&gt;&lt;br&gt;Скрипты не при чем. У топикстартера данные из базы выводятся некорректно. А такое бывает, если html-страница уже в юникоде, а данные из базы --в koi8-r или cp1251. Еще раз -- при переходе на другую кодировку спасает dump/restore с промежуточной перекодировкой данных в dump. Перекодировку можно сделать даже в kate или kwrite.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#2</link>
    <pubDate>Sun, 24 Feb 2008 14:20:00 GMT</pubDate>
    <description>Что такое set names вы похоже не знаете, с условиями эксплуатации мускула за пределами хомпаг не знакомы. &lt;br&gt;&lt;br&gt;Автору топика могу посоветовать внимательно просмотреть скрипты на наличие use utf8. Когда выводятся строки имеющие и неимеющие жестко поставленный флаг utf8_on, то что-либо из них превращается в крякозябры. Если use utf8 нужен для каких-либо операций, то можно ограничить его блоком. &lt;br&gt;</description>
</item>

<item>
    <title>Переход сайта с cp1251 на utf-8 (felix)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID8/5578.html#1</link>
    <pubDate>Sun, 24 Feb 2008 08:05:48 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;Mysql51 &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Сохранил все конфиги Apache2, Perl-кие модули с кодировкой UTF-8. &lt;br&gt;&amp;gt;Прописал в заголовках: &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&amp;gt;.&lt;br&gt;&amp;gt;В соединении с базой указываю: SET NAMES &apos;utf8&apos; &lt;br&gt;&amp;gt;В перловских модулях указываю: use utf8; &lt;br&gt;&amp;gt;При открытии странички, текст который был написан в скриптах с кодировкой utf-8 &lt;br&gt;&amp;gt;отображается нормально, а текст из базы каракулями. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Подскажите куда рыть надо!!! &lt;br&gt;&lt;br&gt;Сделай дамп базы в старой кодировке. Затем перекодируешь его (это обычный текстовый файл) в utf-8 и восстанавливаешь базу. Делал такое неоднократно.&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
