| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS Windows > проблема с кодировками |
| Автор: charodej 16.7.2008, 17:05 |
| Извините, если такая проблема уже обсуждалась, но я не нашел объяснения на вашем форуме У меня не отображаются некоторые символы некоторых алфавитов, например ß (эсцет) в немецком, специфические символы польского алфавита, не отображаются в MySQL CommandLine Tool, кодировка базы - utf8, кодировка клиента, сервера, подключения - utf8,вместо символов - знаки вопросов, хотя я менял и ставил cp852, cp1250(на этих cp живут польские символы), всё равно отображаются неверные символы... Помогите... |
| Автор: MuToGeN 16.7.2008, 17:16 |
| Какая ОС? |
| Автор: Feldmarschall 16.7.2008, 17:31 |
| что значит "менял и ставил"? где менял и что ставил? кодировка выводимых символов зависит от кодировки самой консоли. можно поменять её. можно - кодировку вывода из базы. |
| Автор: charodej 17.7.2008, 11:33 |
| ОС - Windows XP, менял и ставил кодировку консоли, кодировку базы, кодировку соединения Ну то есть вопрос сводится к тому, как мне отобразить в консоли польские символы... ą ć ł ż ż |
| Автор: charodej 17.7.2008, 12:03 | ||
Нет, в том и дело, если не брать в расчет базу, как мне отобразить в консоли эти символы
только нужные буковки не отображаются верно а шрифт был стандартный, Raster Fonts? может потому что в нем нет таких символов |
| Автор: Feldmarschall 17.7.2008, 12:55 |
| Да, кстати. Выбери Lucida Console |
| Автор: charodej 17.7.2008, 13:52 |
| |
| Автор: charodej 17.7.2008, 17:28 | ||||||
| Уважаемые участники форума, прошу помочь мне с одной проблемой: ОС - Windows XP СУБД - MySQL Создаю базу:
В ней таблицу:
И вставляю содержащую ПОЛЬСКИЕ символы строку:
После этого пишу приложение на С#, извлекающее данные из базы Строка подключения: "Driver={MySQL ODBC 3.51 Driver};Server=ХХХХХ;Port=12345;Database=dbtest;User ID=root;Password=ХХХХХ;Option=3;" Перед извлечением данных из базы выполняю команду SET NAMES utf8;(из С# при помощи OdbcCommand) Далее извлекаю данные и получаю: id column1 1 Д…Д…ЕјЕјЕ‚Е‚ Если перед извлечением выполнить SET NAMES cp1250; То данные другие: id column1 1 №№їїіі Шрифт польские символы поддерживает... Каким образом можно добиться верного отображения символов? Заранее премного благодарен... |
| Автор: Feldmarschall 17.7.2008, 20:22 |
| Для начала надо убедиться, что все вставилось нормально. Можно проверить и в cp1250 в консоли, и в utf8 (сделав chcp 65001) Если в консоли все выводится правильно, то надо заниматься с программой. в том же ли соединении происходит запрос set names? попробуй задампить строку в шестнадцатеричный вид и сравнить с эталоном |
| Автор: connector 27.7.2008, 11:48 |
| Подскажите плз.. вопрос, многим покажется детским, просто я в базах новичок.. В общем дело в том, что у меня не корректно заносятся(собсна, как и выводятся) данные в русском алфавите из пхп-скриптом из баз. Пробовал в phpMyAdmin'e менять кодировки(cp1250, utf8, cp1251) базы, таблиц, результат всегда один - буквы записываются в виде '?'. Хотя при записи phpMyAdmin'ом в базу, заносятся корректно, но скриптом извлекаются тоже как '?'. Думаю, проблема, по большому счёту, в хостинге, т.к. на локальном хосте с этим же скриптом тестировал - всё норма и без заморочек. Всё это дело было на бесплатном хостинге(hostmonster.org.ua), так вот, сегодня перехожу на платный(hostlife.net), есть ли вероятность, что эта лажа будет и там? |
| Автор: skyboy 27.7.2008, 13:27 |
| connector, ваааа... каой язык программирования? РНР? тогда почему вопрос не в разделе по РНР? или Perl? тогда почему не там? пир чем тут раздел Windows? или у тебя "скриптом" служит bat'ник. Топистартер задавл вопросы по консольной mysql-client. И по работе исключительно в консоли. Размещай в дальнейшем вопросы так, чтоб их расположение не вызывало недоумения. По сабжу: set names надо делать в скрипте. ты делаешь? |
| Автор: connector 27.7.2008, 16:22 |
| Это были php-скрипты... Кстати разобрался уже.. там всего лишь надо было переменную окружения(NAMES) задать на utf8... 2 skyboy Вообще то я сюда пришёл по пути: Форум -> Программирование -> Базы данных -> MySQL (еще), т.к. вопрос был по mysql.. но если я не прав, модеры не судите, я на форуме новичок.. |