# PHP Help ?

1. Jan 5, 2007

### ngkamsengpeter

I use php to select data from the mysql database with chinese character but when I echo it ,it show ??? . I am sure the encoding is correct but it still don't show the chinese character . I am using IE 6 . Please help .

2. Jan 5, 2007

### chroot

Staff Emeritus
Do you have the appropriate fonts installed?

- Warren

3. Jan 6, 2007

### ngkamsengpeter

yes because I can see other chinese character .

4. Jan 6, 2007

### gabee

Are the mysql table and your PHP program using an appropriate data type to store the encoded Chinese characters?

5. Jan 8, 2007

### ngkamsengpeter

The data type of mysql table is ok since i can view it through phpmyadmin but i don't know wheter there is a problems with the php code . Below is the code I use :
$sql="select * from mytable where type='mytype' ";$result=mysql_query($sql);$name=mysql_result($result,0,"name"); echo$name;

Are there any problem with my code ?

6. Jan 8, 2007

### gabee

You might need to set a content-type header when you serve the webpage, to tell the browser what to do with the data.

Try inserting

Code (Text):
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
into the HTML of the page, or put

Code (Text):

Let us know if it works!

7. Jan 9, 2007

### Jheriko

What do you get in place of the character. A question mark/box/placeholder? Or two seperate and apparently random characters?

The UTF-8 suggestion above will work in one case and not the other IIRC. Try other encodings if the above suggestion fails.

8. Jan 10, 2007

### ngkamsengpeter

A few question marks .

9. Jan 11, 2007

### Jheriko

Try UTF-16/UCS-2 whatever...

The easiest solution is to understand which encoding it is using in the first place. You should be able to find out by examining your database more thoroughly.

10. Jan 11, 2007

### ngkamsengpeter

I have examined my database and it use gbk_chinese_ci but I set encoding to gbk cannot solve the problem .How ?

11. Jan 17, 2007

### Sane

My suggestion is... since, undoubtedly, others have run into the same problem as you have before, you should search around on Google for people that have had issues with chinese characters in MySQL databases.

The biggest issue here is you've got a problem that could be occuring on one of three different depedencies. It could be a problem with how you're storing it (MySQL), what datatype you're throwing it into (PHP), or how you're displaying it (XHTML).

I'd suggest, if you can't find out the solution by Googling for other people having the same problem, you should first eliminate the layers the problem could be sitting on. From PHP, output it to a server-side text file (with the proper encoding format) instead of HTML. If that does not work, you know the problem is in either PHP or MySQL. Keep working your way up until you have excluded the problematic area. Then, if for instance, the problem happens to be with MySQL, search the documentation for support with storing Chinese encoded characters.

Cheers,
- Sane

12. Jan 23, 2007

### ngkamsengpeter

I have solved the problems ,I use "set character_connection_set=gbk,character_result_set=gbk" Anyway , thanks for yours help .

13. Feb 6, 2007

### alireza55627

Hi,
I have this problem with utf-8 character-set. I can see characters in PHPMyAdmin correctly, but in php page show ? instead characters.
Server Variables and Setting:
http://www.dof.ir/mysql_server_variable.gif

Last edited by a moderator: Apr 22, 2017
14. Feb 13, 2007

### ngkamsengpeter

you can try to run query below first before running any query :
"set character_set_connection=utf8,character_set_result= utf8"

Last edited by a moderator: Apr 22, 2017
15. Feb 16, 2007

### A-A

I think there are a number of possibilities you can go for, which are:

1- check to see the integrated environment you use for php + mysql is supporting chinese or not (for instance xampp software supports a number of languages and can make your life easy. I have tried mysql for persian language through xampp and it works fine).

2- If you want to use chinese characters using any php + mysql configuration, I guess you can do it, using the embeded encode and decode functions of php properly. I have stored an image into mysql database (sure, you know that mysql does not support picture formats) quite long time ago using encode and decode functions. Therefore, since garbage is garbage and the chinese characters may be presented in the garbage manner that an image is presented, you can encode your characters and view them back by your web browser upon decoding.

3- make sure your OS supports chinese fonts.

16. Feb 17, 2007

### rdx

Does echo work with name? I thought you needed print_r.

17. Feb 18, 2007