მთავარი  |    ფორუმი  |    FAQ  |    წესები  |    კონკურსები  |    რეკლამა ჩვენთან  |    კონტაქტი

გამარჯობა, სტუმარო ( შესვლა | რეგისტრაცია )

 
Reply to this topicStart new topic
> სერვერი UTF 8 კოდირებაზე ახურებს, რაღაც არ მოსწონს სკირიპტს სწორედ არ კითხულობს :(
student777
პოსტი Oct 28 2007, 07:12 PM
პოსტი #1


ტექნო მანიაკი
******

ჯგუფი: რეგისტრირებული
პოსტები: 914
ნიკის ჩასმა
ციტატაში ჩასმა
წევრი №: 474



მოკლედ რაშია საქმე, ჩემი აწყობილი სერვერი ცოტას ახურებს რაღაც კარგად ალბათ იმასავქენი რა (IMG:style_emoticons/default/biggrin.gif)

რაშია ახლა საქმე არის რაღაც პჰპ ფაილი შიგნით წერია რაღაც კოდი არცერთო სოტყვა არ უწერია ქართულად, ეგ პჰპ სკრიპტი რომ გადავიყვანო UTF-8 ში და სკრიპტში არაფერი შევცვალო სწორედ აღარ მუშაობს, რაღაც მოქმედებეს არაკეთებს. საიდან დავასკვენი რომ სერვერის ბრალია, myweb-ზე ამავე ფაილთან გავაკეთე იგივე ოპერაცია ანუ შევინახე utf-8 ში ხო ჩვეულებრივად იმუშავა.

თუ ვინმეს შეუძლია დამეხმარეთ წინასწარ დიდი მადლობა ყველას
Go to the top of the page
 
+Quote Post
domen
პოსტი Oct 28 2007, 08:02 PM
პოსტი #2


ფობოფობი
******

ჯგუფი: გლობალ მოდერი
პოსტები: 3.431
ნიკის ჩასმა
ციტატაში ჩასმა
მდებარეობა: საქართველო: თბილისი კომპი
წევრი №: 26



student777
რაღაც ეგეთი პრობლემა იყო ადრე და გადაწყვეტა არ მახსოვს ზუსტად.

მგონი ასეა: გახსენი EmEditor-ით და შეინახე UTF-8-თი, ოღონდ გამოურთე "Add a Unicode Signatre(BOM)".


--------------------
უფალო, მომეცი ძალა, რომ შევცვალო ის, რისი შეცვლაც შემიძლია; მომეცი მოთმინება, რომ ავიტანო ის, რისი შეცვლაც არ შემიძლია; და მომეცი სიბრძნე, რომ გავარჩიო ერთი მეორისაგან.

Wir müssen wissen — wir werden wissen!

"და ერთმა ისიც კი თქვა, შაშია რანაირად დაწერდა პიესას, ყელი გადამწვარი აქვს და ხმა კიდევ ჩახლეჩილი და პიესაში ხომ სულ ხმამაღალი ლაპარაკიაო. მოკლედ, ვიკამათეთ ბევრი... აზრთა გაცვლა-გამოცვლა იყო."

... მე ვიცნობდი ერთ ტეხასელ ბიჭს, ის მეთექვსმეტე სართულიდან გადმოხტა. მოფრინავდა და ყველა სართულზე იმეორებდა, ჯერჯერობით ყველაფერი შესანიშნავად მიდისო ...
Go to the top of the page
 
+Quote Post
student777
პოსტი Oct 29 2007, 12:56 PM
პოსტი #3


ტექნო მანიაკი
******

ჯგუფი: რეგისტრირებული
პოსტები: 914
ნიკის ჩასმა
ციტატაში ჩასმა
წევრი №: 474



მადლობ ეგ რო შველიდეს აქ კი არ დავფოსტავდი (IMG:style_emoticons/default/smile.gif) მაგით უფრო პრიკოლი რაღაცეები ხდება სკრიპტში სხვა ფუნქციები აღარ მუშაობს (IMG:style_emoticons/default/biggrin.gif)

გუშინ otosaxel მეხმარებოდა იმ სკრიპტში სადაც ქაღტულად უნდა ცამეწერა შევეცადეტ ცვლადები ჩაგვეწერა სადაც ის ქართული სიტყვები ინხებოდა. ის კი ცვალდები გამოგვეძახა სხვა ფაილიდან (IMG:style_emoticons/default/biggrin.gif) მარა ეგრეც არ გამოვიდა (IMG:style_emoticons/default/sad.gif)

სერვერზ კერძოდ აპაჩეს მიუთითე AddDefaultCharset UTF-8 მარა მაინც არ უშველა (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
 
+Quote Post
ja_ja
პოსტი Oct 29 2007, 08:30 PM
პოსტი #4


Administrator
******

ჯგუფი: ადმინი ძირეული
პოსტები: 903
ნიკის ჩასმა
ციტატაში ჩასმა
წევრი №: 1



student777
მისმინე მოდი დააზუსტე რას გულისხმობ, სკრიპტი გასაგებია, მაგრამ მოდი ვიტამინები ბოლომდე დააყარე რა შენს კითხვას.

მოკელდ PHP გასაგებია, მაგრამ არ მუშოაბს მხოლოდ ეგ PHP რომელიც რაღაცას აკეთებს, თუ არ მუშაობს მაგ PHP-ის მიერ Mysql-ბაზაში ჩაწერისა და ბაზიდან ინფოს გამოტანის პონტი.

ანუ ხვდები რას გეკითხები?

არსებობს სკრიპტები რომლებიც ბაზას არ მიმარტავენ და ტავისით რაღაც საქმეს აკეთებენ, მაგალიტად რაღაც რაღაცაზე გაამრავლე და დაწერე პასუხი.

არსებობს მეორენაირი სკრიპტები, რაღაც ველშI ჩაწერილი შეინახე Mysql-ბაზაში და მერე მეორე კნოპკაზე დაჭერისას შენახული ინფო ბაზიდან გამოიტანე და აი ამ კაიფით დააკლაგე.

აი ეგ აღწერე რა არ მუშოაბს.

იდეაში ახლავე ვხვდები რომ საქმე გაქვს ბაზებტან, მაგ შემტხვევაში საქმე იმაშია რომ შენ სკრიპტი კი გადაგყავს Utf-8-ზე მაგრამ Mysql ბაზა რჩება დეფაულტ კოდირებაშI, როგროც წესი თუ ბაზას UTF-8 არ არქვს მითითებული ინსტალაციისას მაშIნ მისი კოდირება არის Latin1 ანუ სტანდარტული ლათინური კოდირება Windows 1252 (არ აგერიოს კირილიცაში 1251).

ახლა მაგ შემთხვევაში რა ხდება. სკრიპტი ბაზას მიმაღტავს უნიკოდშI და ცდილობს ჩაწეროს ინფო უნიკოდში, ბაზას შესაბამისი კოდირების მხარდაჭერა არ აქვს, ამიტომ ჩაწერისას არასწორედ წერს ინფოს როგროც წესი ეს არის კითხვისნიშნები. გამოტანისას იგივე ხდება.

არის მეორე ვარიანტიც, როდესაც ფორმები ბაზას უკავშირდებიან Latin 1 კოდირებით და ბაზა კი ამ შემთხვევაში არის UTF-8 კოდირებაში, შედეგად იგივე კალამბური წარმოიშვება.

მესამე ვარიანტი. როდესაც სკრიპტი ბაზას სწორი კოდირებით გადასცემს ინფოს, ბაზა სწორი კოდირებით იღებს და სწორად ინახავს, მაგრამ ბაზებიდან მოთხოვნილი ინფო არასწორი კოდირებით გადაეცემა სკრიპტს.

კაროჩე როგროც ხვდები 3 ვარიანტი გაქვს. ყველაზე კაია ჯერ გაარკვიო ბაზა რა კოდირებაშია, მაგალითად იგივე PHPMYADMIN-ი გაუშვი შენს სერვერზე, და ნახე შენი ბაზა რა კოდირებაშია. დანარჩენზე მერე ვილაპარაკოთ.

(IMG:http://img48.imageshack.us/img48/9811/kodirebaen7.gif)


თუ ბაზის კოდირება შენთვის სასურველი არ არის, მაშინ იგივე PHPYADMIN-ში გადადი ჩანართში SQL და შეასრულე შემდეგი ბრზანება:
ALTER DATABASE `შენი_ბაზის_სახელი` DEFAULT CHARACTER SET utf8

თუ პირიქით სხვა კოდირებაშია გადასაყვანი აკრიფე:

ALTER DATABASE `შენი_ბაზის_სახელი` DEFAULT CHARACTER SET latin1

და ასე შედმეგ.

თუ ჩემს მიერ აღწერილი პრობლემა შენს პრობლემას ემთხვევა მაშინ ახსნა აგერ გაქვს, თუ არა და დააკონკრეტე რა სახის პრობლემაა.
Go to the top of the page
 
+Quote Post
student777
პოსტი Oct 29 2007, 07:38 PM
პოსტი #5


ტექნო მანიაკი
******

ჯგუფი: რეგისტრირებული
პოსტები: 914
ნიკის ჩასმა
ციტატაში ჩასმა
წევრი №: 474



მე ვერ დავაზუსტებ ზუსტად რა არ მუშაობს მხოლოდ php სკრიპტი თუ mysql ჩაწერასთან აქვს პრობლემა. უფრო მგონია რო იმ კონკრეტულ სკრიპტს აქვს პრობლემა და არა ბაზას იმიტომ რო ქართულ ენასთან ჯერ პრობლემები არ მქონია (IMG:style_emoticons/default/smile.gif)

ტაკს ახლა დავწერ თავიდან ბოლომდე რა სკრიპტია რას აკეთებეს და რის გაკეთება მინდა, და რა ვცადე და რა არა.

მოკლედ როგორც იქნა დავაქონფიგე სერვერი უფრო სწორედ დავაკონფიგე კი არა უბრალოდ ავამუშავე და ფორუმი გაუშვი.

ამ სერვერზე არის გაშვებული მხოლოდ ფორუმი ვერსია 2.3.1 თუ 2.2.2 მაგას საეღტოდ არანაირი მნიშნელობა არააქვს.

ხო და მაგ ფორუმზე მინდოდა დამეყენებინა პატარა და სასარგებლო მოდი.

აკეთებს ორ რაღაცას „ნიკის ჩასმა პოსტში“ და „მონიშნულის ციტატაში ჩასმა“, ძალიან მაგარი რაღაცა. ეს მოდი ერთ ერთ თბილისის ფორუმზე იყო, მარა მერე რუსულ ფორუმებზეც გავჩითე.

ეგ მოდი რომ ამუშავდეს ვაკეთებთ ორ ცვლილებას ერთს ჯავასკრიპტში მეორეს კი ერთ php ფაილში. ჯავასკრიპი აქ არაფერ შუაშია. ის გინდ შემეცვალა გინდ არა! საქმეა იფ php ფაილში. გინდ ამ ფაილში ცვლილებები არ შევიტანო და უბრალოდ შევინახო UTF-8 კოდირებაში , ერთი ფუნქცია არ მუშაობს.

ამ სურათზე ნაჩვენებია თუ რომელი ფუნქცია არ მუშაობს:

(IMG:http://i038.radikal.ru/0710/dd/b75f72dae420.gif)


წითლად არის მონიშნული. რომ ვაჭერ ბოლო ფოსტს ცარიელ ეკრანს მიგდებს, ბრაუზერში კი მაგ დაგვარ ლინკს აგდებს და ჩერდება:

http://192.168.1.13/ge/index.php?showtopic=1&view=getnewpost

ახლა კი რაც შეეხება ფაილს, ეგ ფაილი იმყოფება ამ მისამართზე

მთავარი საქაღალდე /sources/action_public/topics.php

იმასაც დავწერ რა ცვლილებების შეტანა მინდა.

მაგ სტრიქონის აემოდ:

$row['q_date'] = $this->ipsclass->get_date( $row['post_date'], 'SHORT', 1 );


ვწერ ამ სტრიქონს:

$row['post_date'] = $this->ipsclass->get_date( $row['post_date'], 'LONG' );

და შემდეგ ვპოულობ მაგს:




$poster['_members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['members_display_name_short']}</a>";
}



და ვანაცლებ მაგით:


$poster['_members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['members_display_name_short']}</a>";
$poster['ins_nick'] = "<a href=\"java script:ins('".str_replace(array(" ", "'"), array(" ", "'"), $poster['members_display_name'] )."')\">ნიკის ჩასმა პოსტში
</a>";
}
$poster['ins_q'] = "<a onmouseover=\"copyQ('{$poster['name']}','{$row['q_date']}', '{$row['pid']}');\" href=\"java script:pasteQ();\">მონიშნულის ციტატაში ჩასმა
</a>

აქ კი ქართული სიტყვა ურევია მაგიტომაც მინდა ეგ UTF-8 ! ეს მოდი მშვენივრად მუშაობს ხოლო, რაც ზემოდ დავწერე ანუ ბოლო ფოსტის დაჭერისას თეთრი ეკრანი ჩნდება. მაქვს ორი არჩევანი ან ლათინური ასოები გამოვიყენო ან და ის ფუნქცია უბრალოდ არ იმუშავებს ; (

ახლა კი რაც შეეხება ჩემ ბაზას ბაზა რო შევქმენი მერე mysql კონსოლში ავკრიფე

ALTER DATABASE `YOURDB` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ეგ ბრძანება. ხო ეგ გავაკეთე სენამ ფორუმის ინსტალაციას დაიწყებდი. ახლა phpmyadminic დავაყენე და მიჩვენებს რომ ბაზა არის UTF-8 ში. გადავიყვანე როგორც დამიწერე latin1 მაინც არ უშველა. მერე შევქმენი კიდე ახალი ბაზა latin1 და გადავიყვანე UTF-8 ში, მარა მაინც არ უშველა.

თუ არ ვცდები ყველაფერი დავწერე.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
ამ თემას კითხულობს 1 მომხმარებელი (მათ შორის 1 სტუმარი და 0 დამალული წევრი)
0 წევრი:

 



მსუბუქი ვერსია ახლა არის: 26th April 2024 - 06:03 AM