Elxis CMS Forum
Ελληνικό Forum => Βάσεις Δεδομένων => Topic started by: intefix on September 27, 2009, 10:04:58
-
Παιδιά καλημέρα...
Κατέβασα μια έφαρμογή σε web με PHP και MySQL. Είναι για κράτηση εισητηρίων κλπ.
Έχει 4 Interfaces. Του διαχειριστή, του πωλητή, του επισκέπτη και του συλλέκτη.
Την έστησα σε ένα site για να τη δοκιμάσω.
Στον ίδιο σερβερ έχω και 5-6 CMS που δουλεύουν μια χαρά τα Ελληνικά σε όλα τα επίπεδα.
Άρα θέμα σερβερ δεν τιθεται.
Στη μεριά του πελάτη γράφω και βλέπω κανονικά Ελληνικά.
Όλες οι σελίδες που βλέπω είναι UTF 8.
To Collation στη βάση είναι utf8_unicode_ci.
Στο αρχείο php σύνδεσης έχω βάλει τη γραμμή Shopdb::query('SET NAMES utf8;');
Παρόλα αυτά εξακολουθεί να στέλνει σε ISO8859-1 Και τα βλέπω ως ΚηποθÎατÏ�ο Καζαντζάκη = Κηποθέατρο Καζαντάκης.
Βέβαια αν τα αλλάξω από το PhpMyadmin στη σελίδα τα βλέπω με ????????
Το ίδιο πρόβλημα είναι βέβαια και στην εκτύπωση με PDF engine. Εδώ πιστεύω ότι αν στη βάση το εισαγάγουμε σωστά μάλλον και το PDF θα βγει σωστά.
Καμμιά ιδέα για το που πρέπει να ψάξω και τι να πειράξω;
-
Η εφαρμογή αυτή έχει κανένα forum ; ψάξε εκεί μέσα.
Κοίτα εάν ΟΛΟΙ οι πίνακες έχουν UTF8 όχι μόνο το collation τις βάσης.
Τώρα από εκεί και πέρα έχεις να κάνεις με των κώδικα τους.
Κατέβασε το Notepad++ και κάνε αναζήτηση στους φακέλους Ctrl + Shift + F για ISO8859-1 ή άλλη κωδικοποίηση.
-
Ευχαριστώ για την απάντηση...
Προφανώς κοίταξα όλα αυτά...αυτό σκέφτηκα και γώ...
Άλλαξα από UTF-8 Unicode σε utf8_general_ci καμμία αλλαγή.
έψαξα όλα τα αρχεία όπως σκεφτηκες και σύ βρήκα καμμια 15αριά με ISO-8859-1.
Τα άλλαξα όλα αλλά τίποτα...
Τώρα για να βρείς άκρη από που πάει σε που πρέπει να σου βγει η ψυχή...ψάχνοντας και άκρη δεν θα βρεις...
Καμμια άλλη ιδέα;
-
Καμμια άλλη ιδέα;
Έχει σχέση με το Elxis?
-
Κατέβασα μια έφαρμογή σε web με PHP και MySQL. Είναι για κράτηση εισητηρίων κλπ.
Όχι Σπύρο.
Intefix, δεν μπορώ να ξέρω έτσι. μπορεί να μην υποστηρίζει καθόλου UTF8.
-
μπορεί απλά ή σελίδα που κάνεις submit τα στοιχεία αυτά να μην είναι utf8...
οπότε στον ίδιο παρονομαστή έρχεσαι .. πάνω κάτω...
τεσπά...
εγώ θα έλεγα να έβαζες το iosreservations... που δεν θα σου βγάλει χούγια!
-
Οι σελίδες όπως είπα είναι στα Meta UTF-8.
Στο κώδικα μέσα κάνει "recovert" (δεν θυμάμαι ακριβώς την εντολή PHP) σε UTF-8.
Το πρόβλημα τέλος πάντων είναι ότι ΔΕΝ τυπώνει ελληνικά.
Αν πούμε ότι στη βάση ΔΕΝ μας πειράζουν τα Ιαπωνέζικα ΚηποθÎατÏ�ο ΚαζαντζάκÎ
ένα "απείραχτο" tmpl ticket
<?xml version="1.0" encoding="ISO-8859-1"?>
<template invert="840">
<dynamic>
<font name="Helvetica" />
<?php if($data['user_address1']){ ?>
<ezText size="14" left="30" >
$user_firstname $user_lastname
$user_address
$user_address1
$user_zip $user_city $user_state
$user_country_name
</ezText>
<?php } else { ?>
<ezText size="14" left="30" >
$user_firstname $user_lastname
$user_address
$user_zip $user_city $user_state
$user_country_name
</ezText>
<?php } ?>
<ezText size="12">$order_date</ezText>
<line_style width="2"/>
<ezText size="14"><u>Invoice: $order_id</u>
</ezText>
<ezText size="12">You bought the following tickets:
</ezText>
<table showlines="0" shaded="0" fontsize="12" width="500">
<trh>
<tdh justification="left" width="150"><b><u>Event</u></b></tdh>
<tdh justification="right" width="50"><b><u>Count�.</u></b></tdh>
<tdh justification="center" width="85"><b><u>Category</u></b></tdh>
<tdh justification="center" width="115"><b><u>Discounts</u></b></tdh>
<tdh justification="right" width="50"><b><u>Price</u></b></tdh>
<tdh justification="right" width="50"><b><u>Total</u></b></tdh> </trh>
<tr foreach="bill_data">
<td>$event_name</td>
<td>$qty</td>
<td>$category_name</td>
<td>$discount_name</td>
<format var="seat_price" type="spf" value="%1.2f"/>
<td>$seat_price</td>
<format var="total" type="spf" value="%1.2f"/>
<td>$total</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Total tickets</td>
<td></td>
<td></td>
<td></td>
<td></td>
<format var="total_0" type="spf" value="%1.2f"/>
<td>$total_0</td>
</tr>
<tr>
<td>Fee</td>
<td></td>
<td></td>
<td></td>
<td></td>
<format var="fee" type="spf" value="%1.2f"/>
<td>$fee</td>
</tr>
<tr>
<td>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><b>Total</b> / incl. VAT</td>
<td></td>
<td></td>
<td></td>
<td></td>
<format var="total" type="spf" value="%1.2f"/>
<td><b><u>$total</u></b></td>
</tr>
</table>
<ezText size="12">
</ezText>
<ezText size="12" justify="center">
Thank you for your order. <!-- Please check if its content is your command. -->
Good entertainment!
</ezText>
</dynamic>
</template>
-
μπορεί απλά ή σελίδα που κάνεις submit τα στοιχεία αυτά να μην είναι utf8...
... έβαζες το iosreservations...
-
...να έβαζες το iosreservations... που δεν θα σου βγάλει χούγια!
Δεν το έχω δουλέψει αλλά δεν Νομίζω να κάνει για την περιπτωσή μου
Το site που μιλάω μιας και είναι σε DEMO κατάσταση είναι www.ticket.net.gr (http://www.ticket.net.gr)
Πάρτε και admin access. user=admin pass=260721
-
τώρα τοο πρόσεξα :P.... εισιτήριων κρατήσεις...οκ
τα tpl φορτώνονται μέσα σε κάποιο άλλο αρχείο... θέλουν όλα κοίταγμα!
ΥΓ. φίλε μου κοίτα να δείς αν έχουν καποιο φορουμ ή αλλο support...
είναι η καλύτερη λύση...
-
Ευχαριστώ για τη γρήγορη απάντηση...
Εκεί είμαι @forum και προσπαθώ....
-
Καλησπέρα,
Επειδή έχω ΑΚΡΙΒΩΣ το ιδιο πρόβλημα με το φίλο Intefix, αν διάβάσει το post μου , μπορεί να μου πει αν κατέληξε τελικά κάπου με το πρόβλημα, και να μου πει και μένα τι να κάνω για να το φτιάξω; Θα είμαι υπόχρεος
Thanks
-
Εγκατέστησες άλλη εφαρμογή, άσχετη με το Elxis? Εάν ναι, κι αν διαβάσεις παρακάτω... το Elxis δεν έχει καμία σχέση.
δώσε περισσότερες πληροφορίες
-
Τα ΜΕΤΑ είναι δευτερεύον θέμα, άλλα έχουν μεγαλύτερη σημασία.
1. Η κωδικοποίηση των στηλών στους πίνακες της βάσης και το default collate της βάσης. (παντού utf8_general_ci). Αν έχεις ήδη ρίξει ελληνικά με λάθος κωδικοποίηση (άνοιξε το phpmyadmin και δες αν έχουν μπει λάθος) για να διορθώσεις την βάση σου χρειάζεται ειδικό κόλπο. Κανονικά σε αυτή την περίπτωση αποχαιρετας την βάση αλλά μπορείς να την σώσεις με την βοήθεια της php και του περιηγητή σου...
2. Τα headers του server να στέλνουν κωδικοποίηση utf-8. Οπότε πριν κάνεις echo οτιδήποτε στην php γράφεις κάτι σαν αυτό:
headers('content-type:text/html; charset=utf-8');
3. Η σύνδεση με την βάση να γίνεται σε utf-8. Αν κάνεις χρήση απευθείας Mysql συναρτήσεων εκτέλεσε αυτή την εντολή αμέσως μετά την σύνδεση με τη βάση: "SET NAMES utf8"