Показаны сообщения с ярлыком utf8. Показать все сообщения
Показаны сообщения с ярлыком utf8. Показать все сообщения

четверг, 19 июля 2012 г.

Java + Mysql + utf8 = вопросы вместо русских букв (??????)

Если при записи в базу получаем вместо русских букв знаки вопроса, добавляем в параметры подключение к JDBC

useUnicode=true
characterEncoding=utf8

Т.е. урл для подключения к базе должен представлять вид - jdbc:mysql://hostname:port/database?useUnicode=true&characterEncoding=utf8

и не лишним будет сразу после подключения к базе выполнить два "запроса"

stat.execute("set character set utf8");
stat.execute("set names utf8");

понедельник, 19 января 2009 г.

Slackware12 и локаль utf8

Устанавливаем локаль utf8.

1. Для начала правим /etc/profile.d/lang.csh делаем:
setenv LANG ru_RU.UTF-8

правим /etc/profile.d/lang.sh делаем:
export LANG=ru_RU.UTF-8

2. Из rc.font.new делаем rc.font (mv rc.font.new rc.font)
правим /etc/rc.d/rc.font делаем:
unicode_start cyr-sun16.psfu.gz
for i in 1 2 3 4 5 6; do
echo -ne "\033%G" > /dev/tty$i
done

эти команды загрузят консольный шрифт utf8, можно загрузить другой шрифт LatArCyrHeb-16.psfu.gz

3. В /usr/share/locale/locale.alias изменяем строку russian ... на
russian ru
ru ru_RU
ru_RU ru_RU.UTF-8
пример

4. Редактируем файл /etc/rc.d/rc.locale и в нем пишем /usr/bin/loadkeys ru-utf-by.map это раскладка клавиатуры с русским и белорусскими буквами с переключением англ-русс по CapsLock. В интернете можно поискать и другие.
Белоруская буква i - в русской раскладке - Alt+"и"
Белоруская буква "у кароткае" - в русской раскладке - Alt+"щ"
ru-utf.map.gz - только русский язык
ru-utf-by.map.gz - нужно скопировать в каталог /usr/share/kbd/keymaps/i386/qwerty

5. Теперь вопросы по менеджеру файлов MC.
MC берем из исходников, накладываем патч utf8 и собираем. Придется перекодировать из koi8-r -> utf8 файлы помощи и подсказки в /usr/local/share/mc/.

6. В /etc/fstab при монтировании windows разделов надо в опции монтирования добавить iocharset=utf8,codepage=866 Перезагружаемся и пробуем переключать раскладу клавиатуры (язык) и запускать mc.

воскресенье, 16 ноября 2008 г.

Perl и Unicode Windows.

Понадобилось мне в perl открыть и почитать файлик из винды в юникоде. И еще в файлике отсутствовал BOM (FF FE в первых байтах). Это был фрагмент из большого файла.
Локаль у меня utf8.

open (TXT, '<:encoding(UTF16)','file.txt') or die; c ходу не открыл, так как не нашел нужных ему первых байт и ругнулся на неверный BOM. решение: без явного указания перл принимает юникод "big-endian", а надо "little endian" и ругается на неверный BOM. Укажем явно кодировку UTF16-LE open (TXT, '<:encoding(UTF16-LE)','file.txt') or die; теперь порядок. Запись в файл аналогична открытию. open (TXT, '>:encoding(UTF16-LE)','file.txt') or die;

при этом BOM запишется сам в начало файла, если понадобиться записать его принудительно, то можно сделать так:

print TXT "\x{FEFF}"; # запись BOM (Byte Order Mark) для юникодного файла