PDA

Դիտել ողջ տարբերակը : Հայերենը MySQL-ում



Vahagn_IV
29.11.2007, 19:30
Ունենք php script.
$conn = mysql_connect("localhost", 'localhost_001','123456')
or die("bla-bla-bla". mysql_error());
mysql_select_db("db_name");
mysql_query("SET NAMES utf8",$connn);
mysql_query("SET CHARACTER SET utf8",$conn);.
Աղյուսակները ունեն հետևյալ հատկությունները`
charset: utf8
Collation:utf8_general_ci :
Աղյուսակների մեջ ամեն ինչ գրում ու կարդում եմ այդ սկրիպտի միջոցով:
(Չնայած հետևյալը ճիշտ է նաև MySQL-ի visual interface-ների համար:)
Պատասխան էջս սկսվում է
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
.....
</html>
Ամեն ինչ լավ աշխատում է ռուսերենի դեպքում: Բայց, երբ գրում եմ հայերեն, բոլոր սիմվոլները դառնում են ????????:
Ընդ որում, ըստ
http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html
հայերեն և ռուսերեն սիմվոլները զբաղեցնում են 2 բայտ: Նույնիսկ այստեղ տարբերություն չկա: Ի՞նչ անեմ, որ լավ լինի:):

Enipra
29.11.2007, 19:40
Մի հատ սրանք նայիր, գուցե օգնեն :)
http://www.akumb.am/showpost.php?p=396201&postcount=27
http://www.akumb.am/showthread.php?t=11765

Vahagn_IV
29.11.2007, 19:46
Էղաաաաաաաաաաաաաաաաաավ:
Շնորհակալություն:
Բայց բացատրությունը չեմ կարող ասել: Այսպես ասած էմպիրիկ եղանակ:):


ALTER DATABASE `hhhh` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

Enipra
29.11.2007, 19:57
Էղաաաաաաաաաաաաաաաաաավ:
Շնորհակալություն:

Ուրախ եմ։ Խնդրեմ։ :))

mcnika
11.10.2008, 22:22
Բարևներ.

MySql բազա ունեմ հայերեն տվյալենով, php/html ով ինչպես կարդամ, բայց որ հայերենը ռեալ կարդա:
Ինչքան հնարավոր է արագ պատասխանեք :)

Մերսիներ ;)

քաղաքացի
11.10.2008, 23:15
Ենթադրում եմ, որ բազայում եղած հայերենը utf8_general_ci-ով է մուտքագրված: Այդ դեպքում պետք է անել 2 բան:

PHP կոդում, mysql_query-ով կանչում ենք հետևյալ հարցումները:


mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");


իսկ HTML-ում head-ի մեջ ավելացնել

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



Պետք է նորմալ աշխատի: Եթե հարցեր առաջանան, խնդրեմ:

mcnika
11.10.2008, 23:23
:hands Անչափ շնորհակալ եմ,
իսկապես ստացվեց :)

artush1984
07.09.2009, 11:39
մի հարց էլ ես ունեմ հայերեն տվյալներ կան MySQL ում իչպես կարդամ C++ ով?
(Visual Studio 2008)
Ավելի ճիշտ կարդալը կարդւմ եմ բայց ֆայլի մեջ հարցական նշաններ է գրում

artush1984
07.09.2009, 18:29
էղավ էլ պետք չի

Աթեիստ
07.09.2009, 22:45
էղավ էլ պետք չի
Խնդրում եմ նման դեպքերում ձևն էլ գրել, որպեսզի մյուսներն էլ իմանան։

artush1984
07.09.2009, 23:06
կոնկրետ ինչի ձևը?

Աթեիստ
07.09.2009, 23:27
կոնկրետ ինչի ձևը?
2 գրառում առաջ նկարագրածդ խնդրի։

Gogoliny
10.07.2011, 19:00
MySQL Բազա Մուտքագրածս հայերեն յունիկոդ տեքստը, MySQL բազայից դուրս է գալիս որպես «??????»

չնայած որ փորձել եմ համապատասխանեցնել այս խորհուրդներին՝

http://www.akumb.am/showpost.php?p=396201&postcount=27
http://www.akumb.am/showthread.php?t=11765
http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html
http://electron-libre.fassnet.net/utf8.php

ի դեպ՝ համապատասխան բոլոր աղուսյակները/դաշտերը ունեն UTF8_general_ci encoding

Բազա ներմուծվող տեքստը (որը ներմուծվում է <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> tag ունեցող էջից) նորմալ ոնց որ կա գնում նստում ա իրա տեղում, որի մասին հավաստիացել եմ phpmyadmin և այլ mysql client ծրագրերով
Սակայն երբ այդ տեքստը կանչվում է (mysqli_fetch_row ֆունկցիայի օգնությամբ, նույն վերոնշյալ tag-ը ունեցող էջից) էկրանին պատկերվում են «????????»-ներ

դուրս հանելու կոդում օգտագործում եմ նաև հետևյալ query-իները

mysqli_query($con,'SET NAMES "utf8"');
mysqli_query($con,"SET CHARACTER SET utf8");


ի դեպ երբ այս SET NAMES "utf8" և SET CHARACTER SET utf8 query-ները հանում եմ տեքստը mysql client-ով բազայում ցուցադրվում է որպես «Õ€Õ¥Õ²Õ«Õ¶Õ¡Õ¯Õ¨», սակայն երբ հարցում եմ կատարում mysqli_fetch_row ֆունկցիայով կայքում նորմալ ցուցադրում է:

Ինչ որ տեղ կարդացել եմ որ բազայում պահելու, այնտեղ ներմուծելու, այնտեղից դուրս հանելու համար առանձին encoding-ներ է պետք սահմանել, և պետք է այդ բոլորը սահմանել որպես UTF8, սակայն վերջին երկուսը չեմ կարողանում գտնել: Հավանաբար պետք է PHP.ini ֆայլում լինի քանի որ PHP-ն է տանող-բերողը: Բայց Այնտեղ ինչ հնարավոր էր ըստ http://electron-libre.fassnet.net/utf8.php կայքի ցուցումների դարձրել եմ UTF8, որը նույնպես խնդիրը չի լուծել:

Այս ամենեը փորձարկվել է Opera, chrome, IE, Firefox բրուզերներում և արդյունքը նույնն է եղել.

soultaker
14.07.2011, 00:34
ի դեպ երբ այս SET NAMES "utf8" և SET CHARACTER SET utf8 query-ները հանում եմ տեքստը mysql client-ով բազայում ցուցադրվում է որպես «Õ€Õ¥Õ²Õ«Õ¶Õ¡Õ¯Õ¨», սակայն երբ հարցում եմ կատարում mysqli_fetch_row ֆունկցիայով կայքում նորմալ ցուցադրում է:

MySQL կլիենտի վրա թքած, կարևորը էջում երևումա, նշանակումա տենցա ճիշտ: Կլիենտը որ ցույց չի տալիս, էտ արդեն իրա մեղքը պիտի որ լինի:

Հետո բացի encoding-ից մի հատ էլ collation կա, կարողա օգնի:

Gogoliny
16.07.2011, 20:38
MySQL կլիենտի վրա թքած, կարևորը էջում երևումա, նշանակումա տենցա ճիշտ: Կլիենտը որ ցույց չի տալիս, էտ արդեն իրա մեղքը պիտի որ լինի:
Եթե թքացծ, բա ո՞նց կառավարեմ բազան, ամեն անգամ մի տող ջնջելու համար պիտի querry գրե՞մ, տենց գործը դժվարանում ա. :(
Ես էլ էի սկզբից տնեց մտածում թե MySQL client-ից ա, բայց երբ մի քանի կլիենտներով փորձեցի ու տեսա, որ արդյունքը լրիվ նույնական էր, հասկացա, որ ոնց որ ես մի ինչ-որ բան էն չեմ անում :think


Ես նույնիսկ փորձել եմ phpmyadmin-ի index-ի էջում <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> սա տեղադրեմ, բայց էլի խնդիրը չվերացավ.


Հետո բացի encoding-ից մի հատ էլ collation կա, կարողա օգնի:
phpmyadmin-ով տվյալ բազայի Operations բաժնում նայեցի դա էլ դրված է utf8_general_ci.

Սկսում եմ կասկածել որ խնդիրը օպերացիոն համակարգն է, որն ինձ մոտ 64 բիթանի Vista է :unsure

Gogoliny
01.08.2011, 00:43
Արդեն մոտ մի ամիս է փորձում եմ բայց չեմ կարողանում ելք գտնեմ, ով հայերեն յունիկոդ MySQL բազաների հետ աշխատանքի փորձ ունի, հավանաբար, պետք է որ հաղթահարած լինի այս խնդիրը, կխնդրեի կիսվել ինֆորմացիայիով եթե ինչ-որ մեկը դա արել է.


MySQL Բազա Մուտքագրածս հայերեն յունիկոդ տեքստը, MySQL բազայից դուրս է գալիս որպես «??????»

չնայած որ փորձել եմ համապատասխանեցնել այս խորհուրդներին՝

http://www.akumb.am/showpost.php?p=396201&postcount=27
http://www.akumb.am/showthread.php?t=11765
http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html
http://electron-libre.fassnet.net/utf8.php

ի դեպ՝ համապատասխան բոլոր աղուսյակները/դաշտերը ունեն UTF8_general_ci encoding

Բազա ներմուծվող տեքստը (որը ներմուծվում է <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> tag ունեցող էջից) նորմալ ոնց որ կա գնում նստում ա իրա տեղում, որի մասին հավաստիացել եմ phpmyadmin և այլ mysql client ծրագրերով
Սակայն երբ այդ տեքստը կանչվում է (mysqli_fetch_row ֆունկցիայի օգնությամբ, նույն վերոնշյալ tag-ը ունեցող էջից) էկրանին պատկերվում են «????????»-ներ

դուրս հանելու կոդում օգտագործում եմ նաև հետևյալ query-իները

mysqli_query($con,'SET NAMES "utf8"');
mysqli_query($con,"SET CHARACTER SET utf8");


ի դեպ երբ այս SET NAMES "utf8" և SET CHARACTER SET utf8 query-ները հանում եմ տեքստը mysql client-ով բազայում ցուցադրվում է որպես «Õ€Õ¥Õ²Õ«Õ¶Õ¡Õ¯Õ¨», սակայն երբ հարցում եմ կատարում mysqli_fetch_row ֆունկցիայով կայքում նորմալ ցուցադրում է:

Ինչ որ տեղ կարդացել եմ որ բազայում պահելու, այնտեղ ներմուծելու, այնտեղից դուրս հանելու համար առանձին encoding-ներ է պետք սահմանել, և պետք է այդ բոլորը սահմանել որպես UTF8, սակայն վերջին երկուսը չեմ կարողանում գտնել: Հավանաբար պետք է PHP.ini ֆայլում լինի քանի որ PHP-ն է տանող-բերողը: Բայց Այնտեղ ինչ հնարավոր էր ըստ http://electron-libre.fassnet.net/utf8.php կայքի ցուցումների դարձրել եմ UTF8, որը նույնպես խնդիրը չի լուծել:

Այս ամենեը փորձարկվել է Opera, chrome, IE, Firefox բրուզերներում և արդյունքը նույնն է եղել.

Invicble
08.08.2012, 01:35
$db = mysql_connect("localhost","username","123456");
mysql_select_db("phpsite",$db);
mysql_query("SET NAMES 'utf8'");
$result = mysql_query("UPDATE settings SET title='Հայերեն ցանկացած բան' WHERE id='1'");

Ամեն անգամ երբ UPDATE-ի միջոցով բազայում հայերեն ինչ որ բան եմ թարմացնում, Õ‡Õ¥Ö€Õ¸ÕµÕ¡Õ¶ սենց սիմվոլներ են phpmyadmin-ում երևում + դուրս բերելիս: Բայց INSERT անելիս նոռմալ հայերենա բերում, phpmyadmin-ով էլ որ ավելացնում եմ , էլի հայերեն ա բերում, մենակ ափդեյթի ժամանակա տենց անում: Ասեմ որ բազա utf8 gencoding ci-ով եմ սարքել

ARMbrain
08.08.2012, 09:21
$db = mysql_connect("localhost","username","123456");
mysql_select_db("phpsite",$db);
mysql_query("SET NAMES 'utf8'");
$result = mysql_query("UPDATE settings SET title='Հայերեն ցանկացած բան' WHERE id='1'");

Ամեն անգամ երբ UPDATE-ի միջոցով բազայում հայերեն ինչ որ բան եմ թարմացնում, Õ‡Õ¥Ö€Õ¸ÕµÕ¡Õ¶ սենց սիմվոլներ են phpmyadmin-ում երևում + դուրս բերելիս: Բայց INSERT անելիս նոռմալ հայերենա բերում, phpmyadmin-ով էլ որ ավելացնում եմ , էլի հայերեն ա բերում, մենակ ափդեյթի ժամանակա տենց անում: Ասեմ որ բազա utf8 gencoding ci-ով եմ սարքել

Սրանից հետո եթե բազա կսարքես սարքի utf 8 general ci-ով, իսկ utf-8ով update անելու համար ոչթ է օգտագործի mysql_query("SET NAMES 'utf8'")« ես հրամանը այլ mysql_query("SET CHARSET utf8") էսի, մեկել ստուգի թե տվյալ դակումենթը որը որ դու աշխատացնումես ցանկացած խմագրիչով utf-8 encoting նշված է թե ոչ, կարծում եմ այսքանից հետո խնդիրներ չպետք է լինեն...

Invicble
08.08.2012, 11:00
եղավ, մերսի

softsaqo
08.08.2012, 19:24
կամ httpd.conf ֆայլի մեջից ես ջնջի AddDefaultCharset windows-1251 :B
Ել ոչ մի խնդիր չես ունենա տառատեսակների հետ
եթե denwer ա եսա հասցեն C:\WebServers\usr\local\apache\conf :ok