Програмиране с Кирилица

15 отговора 0 прегледа
#1

Програмиране с Кирилица

Здравейте,

Аз съм програмист в САЩ, но никога не съм програмирал с кирилица. Може ли да ми обясните (накратко или колкото ви се занимава) как се прави, така че текста на уеб страницата да е на кирилица. Да кажем, че страницата е utf-8 или нещо такова, което поддържа кирилица. Разбирам, че един начин ще е като се изписва всяка буквичка със съответния ентити код. Например А за главно А може би. Но това не мога да си представя да е общоприетия начин, защото като се погледне кода, нищо няма да се разбира.

Всъщност в повечето случай, текст на кирилица ще има и в базата данни, така че едва ли в базата данни ще има тия кодове. Не знам как работи MySQL с други езици. Дали може да съдържа текст на български, точно както на английски или може би не може???

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

Мерси!

Отговор
в отговор на pesho #2

Ами...

Пишеш си на кирилица, указваш енкодинга на страницата да е утф-8 и записваш документа в същия енкодинг. Това е всичко. (Съответно с уиндоус-1251 ако те влече повече, но най-добре си е уникод, за да поддържаш и други знаци).

MySQL-а също му задаваш утф-8 насекде.

П.С. Заглавието на темата ти по-скоро навява идеята че искаш да пишеш команди на кирилица, а не че говориш за HTML.

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на KoтapakътнaШpьoдинrep #3

Re: Ами...

Мерси за отговора. Звучи лесно, но засега често виждам въпросителни вместо очакваната кирилица.

Има ли нужда да се правят някакви промени в конфигурацията на Apache и също, ако знаеш и за Tomcat. Напимер AddLanguage опцията в httpd.conf на Apache? Успях да видя някаква кирилица и без тази опция, но сигурно и тя има някакво предназначение.

Аз се интересувам от Perl и Java, но особено между Пърл и PHP, не би трябвало да има сериозни разлики при употребата на кирилица. Зададох въпроса тук, защото този клуб е много по-посещаван и PHP е явно предпочитания език в България.

Единственият конфигурационен файл на MySQL, с който съм работил е my.ini. Там по подразбиране беше зададен default-character-set=utf8. Има ли друго нещо, което да трябва да направя за професионално приложение с кирилица? Забелязвам, че има една директория share. Под нея виждам изброени фолдъри с имена на езици, но по подразбиране нямаше български.

Опитах се да изпълня обикновен insert statement през козолата / клиент на MySQL servera, като копирах и пейстнах няколко думички от този текст, но пак се появиха въпросителни, но това явно няма нищо общо с MySQL. Ако инсталирах някаква програма за кирилица, щеше ли този копи&пейст да проработи? Аз инсталирах драйвъра, която идва с Windows XP. В notepad виждам кирилица, но в конзолата като пиша се появяват само въпросителни.*

* Конзола наричам Command Prompt.

Как в България изпълнявате директно инсърт команди към база данни, ако искате да вкарате текст на кирилица в базата данни с инсърт например?

Не е задължително да говоря само за HTML. Как се прави на C++? cout << "проба"; работи ли? Опитвам се да придобия цялостно разбиране по въпроса.

Може да звуча малко объркано

Не съм объркан, но не знам как се работи с кирилица. Мерси.

Отговор
в отговор на pesho #4

P.S.

Всъщност разбрах за какво е AddLanguage. Трябваше да погледна преди да питам. Има ли нещо друго, обаче, за което не се сещам?

Остават въпросите:

1. Проблеми с редактори. Кой редактор се използва най-често за PHP (ili daje Perl) в България. Аз съм запознат най-вече с EditPlus за Perl и NetBeans за Java.
2. Проблеми с командния промпт и съответно невъзможност да вкарам кирилица в MySQL база данни засега.
3. Конфигурация на MySQL за поддръжка на кирилица при професионално приложение
4. Конфигурация на Tomcat
5. Как се прави с други езици като C++ например или да кажем Java Swing
6. Цялостно разбиране на това какво представлява кирилицата.

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

Отговор
в отговор на pesho #5

P.P.S.

Имам едно JavaSwing приложение. Безпроблемно беше да използването на кирилица. Все едно е на английски. Значи този подвъпрос отпада.

Отговор
в отговор на pesho #6

Значи...

понякога AddDefaultCharset на Апача може да ти направи проблем. AddLanguage едва ли.

1. За редакторите - трябва да могат да записват в указан charset. PSPad или jEdit примерно са добри.
2. Беги на сайта на MySQL и си земи некъф visual редактор. За command prompt-a, ако windows-а ти е конфигуриран добре - требе да работи. Понеже си в USA, едва ли си си направил труда. Ако си под линукс - също може. Повечето дистрибуции са UTF-8 anyway
3. UTF-8? Няма разлика при професионални, непрофесионални или квито и да е приложения.
4. Балиго :)
5. Различно е, ш'са сетиш :)
6. Charset? :) Subset of character table. Около 64 знака. Квото представляват английските букви, тва и кирилицата, с разликата че не е веднага след цифрите. Баси обяснението, ама не са ми и задавали такъв въпрос.

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на pesho #7

Re: P.S.

2. Проблеми с командния промпт и съответно невъзможност да вкарам кирилица в MySQL база данни засега.

- SET NAMES utf8;

Отговор
в отговор на пxп шмaтka #8

Re: P.S.

Аз нямам environmental variable "NAMES", че да я сет-вам.

Отговор
в отговор на KoтapakътнaШpьoдинrep #9

Re: Значи...

Мерси за отговорите. Даде ми някои отлични идеи като например това за visual редактора за MySQL и другите редактори (от там ми идват част от проблемите).

Ако не успея да реша останалите проблеми, ще пиша пак по темата.

Отговор
в отговор на pesho #10

Той има предвид...

да си пуснеш mysql и от неговия промпт да пуснеш тази команда преди да пускаш каквито и да е други...

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на KoтapakътнaШpьoдинrep #11

Re: Той има предвид...

Мерси за разяснението. Не знаех, че има такава команда в MySQL. Да, пробвах я и прочетох за какво служи. По всичко личи, че тя в моя случай, обаче, няма как да ми помогне, защото моя charset вече беше сетнат в конфигурационния файл на utf8. И все пак е добре, че я научих тази команда.

MySQL вече не е проблем. Имам кирилица в базата данни. Използвах GUI-то от уебсайта им, Query Browser.

Последният ми проблем е, че приложението ми все още не възприема кирилица, но проблемът вече е почти сигурно, че е в Java / Tomcat. Или е в кода ми (endoding-a на уеб страницата) или в конфигурацията на Tomcat или в компилатора. Има и някакъв шанс да е в редактора, но не ми се струва много вероятно.

Отговор
в отговор на pesho #12

П.С.

Или е компилатора или е редактора. Кода ми и Tomcat са най-вероятно ОК. Ще пиша накрая какво е станало.

Отговор
в отговор на pesho #13

решен проблем

Виждам кирилица !!!

Имах няколко проблема с кирилица и всичките се решиха благополучно.

Последният проблем беше специфичен за компилатора ми на Java. Кой да се сети, че

javac -encoding Windows-1251 [java file name]

е начина, по който javac компилира кирилица (по-добре UTF-8, но аз имам само тази Уиндоуска кирилица засега).

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

Последно, ако някой може да ми препоръча някоя добра безплатна UTF-8 кирилица да си сложа на компа. Вие какво използвате?

Отговор
в отговор на pesho #14

Ш'мъ умориш...

Windows от 2000 нагоре си има поддръжка на Уникод. Даже може другите енкодинги да не виждаш, но UTF-8 със сигурност ще.

Под линукс също.

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор
в отговор на KoтapakътнaШpьoдинrep #15

Re: Ш'мъ умориш...

А какво значи поддръжка? Аз знам, че има поддръжка, но има различни степени на "поддръжка". Проблемът ми е, че в момента, за да пиша тези думи на кирилица, аз използвам тази тук на уеб страницата. Проблемът, който виждам, с тази кирилица на Windows XP-то ми е, че буквичките са разбъркани. Освен това, този енкодинг май е Windows-1251.

Моля, обясни по-подробно защо на теб не ти трябва да инсталираш специална програма, а аз си мисля, че на мен ми трябва? Къде се получава разминаването? Мерси.

Отговор
в отговор на pesho #16

Малко бъркаш...

клавиатурна подредба с енкодинг. Сички Windows-и нямат фонетична кирилица, каквато ти явно искаш. Земи се запознай с инжинера:

[линк]

или си тури Линукс...

П.П. Аз лично ползвам друга фонетична кирилица, но това нема значение.

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.
Отговор