юникод и локализация

ilal

Новичок
юникод и локализация

день добрый, господа...

первый раз понадобилось такое, знаний по теме ноль...

раздел сайта на греческом, тексты нормально в базу пишутся, но на юникоде... соответственно и выводятся тоже... набором непонятно чего... в коде страницы это видно, хотя отображается правильно в броузере...

можно это как то поправить? чтоб выводилось всё чисто? даже в коде страницы?
 

tashkentchi

Новичок
Может ты неправильно в код страницы смотришь?
Раз юникодную страницу браузер корректно отображает, значит все ок.
 

ilal

Новичок
ну чего неправильного? просто смотрю исходный код страницы...
там Πιστοποιητικά και τα αξιότιμα πιστοποι

и всё такое... или так и должно быть?

черт... не видно :))) коды символов с &
 

tashkentchi

Новичок
Автор оригинала: ilal
коды символов с &
Ну, собственно, ничего неправильного в этом нет. А точно они в базе без & сидят? Очень бывает, когда страница с формой в неподходящей кодировке, браузер заменяет левые символы на мнемоники. Возможно так они и в базу садятся.

-~{}~ 13.03.09 00:25:

У меня однажды похожая проблема была: http://xbb.uz/docs/chars.bb
 

ilal

Новичок
да нет, в базе они тоже с & сидят, занимая по 6 символов вместо одного... мне не нравиться, что выводится в коде страницы всё в таком-же виде... хотя броузер нормально показывает...
 

zerkms

TDD infected
Команда форума
хочется сохранять нормально - сохраняй нормально. в чём вопрос-то?
 

zerkms

TDD infected
Команда форума
ilal
phpfaq.ru/debug

у тебя не mysql виноват. в mysql данные уже кривые -> разбирайся почему они от клиента приходят битые или почему ты их преобразовываешь.
 

ilal

Новичок
мммммм...
так...
греческой раскладки у меня нет, вставляю копированные присланные тексты... как я понимаю, именно по этому всё в базу в юникоде падает...? а преобразовывать в греческий это дело бесполезно?
 

ilal

Новичок
ну, конечно... в этой статейке куча информации по переводу из одной кодировки в другую... :)
и чего?
ничего там по теме нет...

всё работает, вопрос в том, как записать греческий в базу и вытащить из базы в виде ГРЕЧЕСКОГО а не юникода...
повторяю- броузер все нормально отображает, в коде вместо греческих букв юникодовские аналоги... вот как бы их... в хреческий...
 

ilal

Новичок
да не кривые данные... :)
у меня на компе нет греческого-- откуда он возмется?
я правильно понимаю?

данные и идут в юникоде, а как иначе...
вопрос как их вывести не юникодом а греческими буковками...
 

zerkms

TDD infected
Команда форума
ilal
ещё раз.
если они у тебя преобразовались в &...; значит их кто-то преобразовал

в браузере (копипаст) были нормальные символы. в mysql уже нет.
значит их изменил кто-то посередине. логично?

вот и определи, кто.
 

x-yuri

Новичок
да не кривые данные...
у меня на компе нет греческого-- откуда он возмется?
я правильно понимаю?
какого греческого? Раскладки клавиатуры? Шрифта греческого?

данные и идут в юникоде, а как иначе...
http://www.w3.org/TR/html401/charset.html#h-5.3
с помощью них можно передавать Unicode-текст в кодировке ASCII, например. Естественно, если обе стороны это поддерживают
 

ilal

Новичок
так..

стоп... а символы с &... это что? это во что переведено все?
 

ilal

Новичок
много чего полезно почитать...

-~{}~ 13.03.09 11:14:

ничего, как я понял, конкретного не услашать...

тебе полезно, ему полезно...

греческий записывал в базу кто-то? может, то, что записывается и есть норма... я же не знаю... вы, видимо, тоже...

-~{}~ 13.03.09 11:22:

для записи греческого в какой режим таблицы переключать?
у меня cp1251_general_ci стоит... в этом дело?
 

Gas

может по одной?
ilal
ты неправильно трактуешь символы &xxxx; - это НЕ юникод, а HTML Entities и то что они у тебя попадают в базу - неправильно. Скорее всего у тебя страница не в кодировке utf-8 и броузер автоматом конвертирует символы, которых нет в кодировке данной страницы в entities (&xxxx; ).
Если у тебя "раздел сайта на греческом", а другие разделы на других языках, то правильный путь (в связке php/mysql) - использователь utf-8. Для этого
1. у таблиц (и полей) должен стоять utf-8;
2. mysql клиент должен ставить utf-8 (set names utf8 после коннекта к базе)
3. в страницах должен быть прописан charset=utf-8, хедер тоже не помешает отправить.

Всё больше ничего не надо.
 

tashkentchi

Новичок
ilal
Я тебе дело сказал, а ты протупил. Ты ведь тексты на греческом копи-пастом в какую-то форму хер-чишь?

Так вот посмотри внимательно, в какой кодировке эта страница с формой. Если она в однобайтной кодировке, то получишь, чо имеешь. Это не вина мускула, просто бровзер левые символы поста в HTML Entities переводит.
 
Сверху