Hi, this might not be a mysql problem, but hopefully someone will be
able to answer, thanks in advance.

I notice a lot of people had asked the same question and the typical
response in the mailing list seemed to be, "make sure you encode the
data to utf-8 before insert into mysql...", or something similiar.

I have tried that too, but somehow it didn't work out..

what i'm trying to do is, to make everything utf-8, so that there is
no conversion between database <-> connection <-> php <-> output (at
least on the server level)

the first thing i did was to set mysql charset variables:
character set client  utf8
character set connection  utf8
character set database  utf8
character set results  utf8
character set server  utf8
character set system  utf8

all database, tables are created in utf8

output HTML charset: utf-8
(I even set the php code to utf-8...dont know if that's useful...)

case 1:
when i input traditional chinese characters on internet explorer
(charset utf-8) and store them into database, supposingly there's no
need to go through any encoding conversion? (the browser will send the
data in utf-8? i did a utf-8 validation, just to make sure all the
data are utf-8 before i insert, and the data was utf-8 validated.)

when I extract the data from mysql:
1. it works fine, almost all characters can display properly, except
for some characters. (example: ? ?, will show up as ? ?)
2. NONE of the data showed up correctly in mysql query browser

case 2:
i inputed in a set of test data in mysql query browser, and it shows
up properly in mysql query browser, but when i try to fetch the data
from my php, and render it to browser(  charset utf-8), it shows up
????? (that's the problem other ppl are having i guess, but i have
done all those encoding steps, did I?)

phpMyAdmin (my version 2.6.1beta, and 2.6.1) behaves the same way
mysql query browser does.

just to make things less complicated, instead of getting data from browser,
i tried to get from uft-8 encoded files (same bad result),
and i tired to make the data contained in a variable inside the php
code page(utf-8 encoded), same problem occured.
and lastly, i tried to output the posted data back to browser(without
going through database), internet explorer renders all characters
properly.

so it seems to me that i'm missing something on the php & mysql
communication level. is that so?

other information:
php 5.0.3
apache 2.0.53
windows xp sp2
mysql 4.1.10a with innoDB/utf8 default
mysql query browser 1.1.6
phpMyAdmin 2.6.1
mysql & mysqli

I notice that phpMyAdmin doesn't have this problem when it displays
the data it stores, probably this is not a mysql issue, (phpMyAmin
works well with MySql Query Browser too, i must have missed something
in php i guess), hopefully someone will be able to tell me, so my
questions are:

after setting mysql charset to utf-8, and beside making sure the data
is encoded in utf-8 properly (which i think i did), what else do i
need to do on the programming level?
or could i have done wrong in some of the steps? 
or could i have not done some necessary steps to work with mysql
charset features?

and lastly,
is it possible to develope an encoding conversion free program(at
least on the server(s) level)?

any inputs will be appreciated. I thank everyone in advance.

de-zhao

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to