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

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

> სერვერი 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
 
Start new topic
გამოხმაურებები
ja_ja
პოსტი Oct 29 2007, 08:30 PM
პოსტი #2


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

პოსტი ამ თემაში


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

 



მსუბუქი ვერსია ახლა არის: 5th August 2025 - 02:27 PM