Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Проблем cp1251, PHP & MySQL

Featured Replies

Правя една малка формичка, която се записва в MySQL, когато влеза в базата не се чете.... колацията на ДБ-то е cp1251_bulgarian_ci, когато вкарвам текс от PHPMYADMIN текста се чете, за това отхвърлям вариянта пробледа е в базата. Търсих разни декодиращи функции но 90% от тях циклят а другите 10% не работят или не правят това което трябва. Ако някой има някаква идея ще съм благодарен ако я сподели.

Благодаря предварително!

A апачато конфигурирал ли си го ? Файла httpd.conf трябва да го направиш да разпознава кирилица .

  • Автор

Търсих из него, но не видях къде му е Charencoding setting-а.Ако имаш представа как и къде трябва да го направя моля кажи ми. Не мисля, че проблема е в Апаха, защото през PHPmyAdmin всички си работи, по-скоро е някаква грешка при вкарването на текс през MySQL PHP API-то.

Редактирано от Maverick (преглед на промените)

  • Автор

Оправих го. Благодаря все пак. Проблема беше в колацията на таблиците в MySQL.

Измислих що годе добър начин да пиша в тях.

  • 4 седмици по-късно...
Оправих го. Благодаря все пак. Проблема беше в колацията на таблиците в MySQL.

Измислих що годе добър начин да пиша в тях.

<{POST_SNAPBACK}>

Какво точно направи?

Какво точно направи?

<{POST_SNAPBACK}>

Ами с phpmyadmin можеш да сменяш колацията на таблиците.

Също, ако добавиш към структурата им в дъмп файла - "DEFAULT CHARSET=cp1251" няма да се налага да го правиш на ръка.

Ако имаш представа как и къде трябва да го направя моля кажи ми.

Ако искаш по подразбиране да се ползва родната кодировка - само трябва да зададеш в /etc/my.cnf:

default-character-set=cp1251

  • Автор

Всъщност това, което направих не е да сменя колацията на cp1251, а я сложих на latin1_swedish_ci. Това оправя нещата до толкова, че да вкарваш и вадиш текст от кирилица на кирилиза, но не го пази като кирилица в базата.

Както каза Кю-тех можеш да сложиш "DEFAULT CHARSET=cp1251", но това е различно от колацията, има си опция за "DEFAULT" колация. Ако направиш и двете на cp1251 би трябвало да стане. Кажи какво си направил после :clap:

Благодаря за отговорите!

Но проблема си остава!!!!

Инсталирах си на PC'to - EasyPHP - www.easyphp.org.

Дръпнах от нета един скрипт (ползвам го за направа на страница за агенция за недвижими имоти). Скрипта се намира на http://real-estate-management-software.org/

Та, малко го модифицирах (кирилизирах го - менютата да бъдат на български, както и charset'a в layout.html смених на windows-1251 ), модифицирах my.ini - (зададох в [mysqld] default-character-set=cp1251, колацията на таблиците за базата данни я направих на cp1251_bulgarian_ci, но ...

записвайки от панела на администратора (информацията влизаща в базата данни се записва на български), но на менюто на админа излизат символи (да кажем задал съм дилър Пешо - но излиза Ïåøî).

Когато напиша да кажем в Areas пак нещо на български - пак се появяват странните символи, но ако след промяната отидем на меню Properties там вече го виждам изписано на български.

Установих, че в първата колона, на който и да е линк в менюто на Admin'a винаги излизат символи, докато при втора, трета и т.н си излиза без проблем.

А при останалите фаилове ползващи базата данни (Search, All properties всичко си е точ.

Набор от символи(Charset) на файла в mysql e UTF8.

Къде греша?

  • Автор

Честно да ти кажа, не знам, пробвай да смениш набора от символи в SQL на cp1251.

Моят проблем е точно обратното на твоя, аз не вижам какво пише в базата, но чета нявсякъде. Проблема се решава с PHP функция, но нямам време да търся или направя нещо работещо. В страницата на PHP има доста постове за функции, който според авторите работят, но нито една от тях не ми свърши работа. Според мен за да излиза всичко правилно трябва да се проверят всички настройки: набор от символи в MySQL, колация в MySQL, набор от символи в HTML страницата(не само на тази която въвеждаш, а на всички файлове в цомпонент манеджера), тогава всичко би трябвало да върви, но имам чуството, че Windows всъщност вкарва текста в друг набор от символи и за това трябва преди всяко вкарване на текст от HTML ворма в базата текста да се конвертира от формата на Windows, който по дефаулт е unicode в cp1251, поне така е в MFC. Продължавай да дерзаеш, в момента съм зарязал проекта който е на кирилица и работя в/у друг по-спешен а той си е на английски и няма проблеми с вкарването и изкарването на текстове от базата, като го завърша ще почна пак другия и ако намеря решение на проблема ще го опиша подрибно тук.

Успех!

  • Автор
Извинте за офтопика, но Maverick, къде хостваш?

<{POST_SNAPBACK}>

Проекта по пойто в момента работя се хоства в Англия и е на анлийски, а този, който е на бг е на localhost :)

Когато напиша да кажем в Areas пак нещо на български - пак се появяват странните символи, но ако след промяната отидем на меню Properties там вече го виждам изписано на български.

Установих, че в първата колона, на който и да е линк в менюто на Admin'a винаги излизат символи, докато при втора, трета и т.н си излиза без проблем.

А при останалите фаилове ползващи базата данни (Search, All properties всичко си е точ.

Набор от символи(Charset) на файла в mysql e UTF8.

Къде греша?

<{POST_SNAPBACK}>

Въпросният скрипт почти не пипа кодировката.

Ако си вкарвал таблиците поотделно покрай експериментите ти е възможно една от тях да е внесена с друга кодировка. Можеш да се ориентираш по-лесно, като направиш дъмп.

Mysql винаги използва колация. Ако не е зададена в my.cnf или при заявката, по подразбиране се приема тази с която е бил компилиран (по принцип latin1_swe). Тогава, ако знаците ти са в UTF8 кодировка и не си задал колация, Mysql ще ги капсулира в latin1. Принципно пак може да бъдат достъпни, но ще имаш проблеми с полетата...

Като погледнах скрипта и ми стана смешно... ООП в РНР...

Редактирано от Q-tech (преглед на промените)

  • Автор
Като погледнах скрипта и ми стана смешно... ООП в РНР...

<{POST_SNAPBACK}>

И кое му е смешното?

Както и да е, мъча в момента Апаха, искам да си настроя по някакъв начин директория, която не е в DocumentRoot-а на Апаха да излиза в него (DocumentRoot-а), нещо като линк(Shorcut), в UNIX това е възможно, но аз съм с Windows XXXP. Чета документацията в момента и тествам разни вариянти, но не става.

Дайте някаква идея.

Благодаря!

  • 7 месеца по-късно...

Може и да се повторя, но забелязах, че доста хора се сблъскват с този проблем...

При мен кодировката се оправи като добавих следния ред, след mysql_connect и mysql_select_db:

mysql_query("SET NAMES CP1251");

И кое му е смешното?

Както и да е, мъча в момента Апаха, искам да си настроя по някакъв начин директория, която не е в DocumentRoot-а на Апаха да излиза в него (DocumentRoot-а), нещо като линк(Shorcut), в UNIX това е възможно, но аз съм с Windows XXXP. Чета документацията в момента и тествам разни вариянти, но не става.

Дайте някаква идея.

Благодаря!

ами използвай виртуални хостове

  • Автор
ами използвай виртуални хостове

Много отдавна реших проблема.

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Публикацията ви съдържа термини, които не допускаме! Моля, редактирайте съдържанието си и премахнете подчертаните думи по-долу. Ако замените букви от думата със звездички или друго, за да заобиколите това предупреждение, профилът ви ще бъде блокиран и наказан!
Напишете отговор в тази тема...

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.