search
HomeBackend DevelopmentPHP Tutorial为什么PHP 处理数据库 读出"张三"的编码而不是 汉字?


    $con = mysql_connect("localhost","root","1234");  
    mysql_select_db("test",$con);  

mysql_query("set names utf8"); 
mysql_query("set character_set_client=utf8"); 
    mysql_query("set character_set_results=utf8");


    $q=mysql_query("SELECT * FROM people");  
    while($e=mysql_fetch_assoc($q)){
        $output[]=$e;  }
        print(json_encode($output));  
        mysql_close();  
?>  



输出结果:
[{"id":"10","name":"John","sex":"1","birthyear":"1979"},{"id":"11","name :"\u5f20\u4e09","sex":"1","birthyear":"1989"}]

为什么不是 张三


回复讨论(解决方案)

因?你json_encode了,中文??未union??

print(json_encode($output)); 
改成
print($output); 

如果你json_encode后也想看到中文,可以?考我之前?的文章: http://blog.csdn.net/fdipzone/article/details/28766357

json_encode 只接受 utf-8 编码的数据
json_encode 在做 json 编码时,会将多字节的 utf-8 字符转换成双字节的 unicode 编码的实体形式
这样在任何环境中bouquet不会因编码的原因造成数据的失真
json 数据格式主要用于与 js 通讯,而浏览器会将任何编码的数据转换成其工作字符集 unicode
所以,json_encode 的转码工作有利于减轻浏览器的压力

    $con = mysql_connect("localhost","root","1234");  
    mysql_select_db("test",$con);  

mysql_query("set names utf8"); 
mysql_query("set character_set_client=utf8"); 
    mysql_query("set character_set_results=utf8");


    $q=mysql_query("SELECT * FROM people");  
    while($e=mysql_fetch_assoc($q)){
        $output[]=$e;  }
        print(json_encode($output));  
        mysql_close();  
?>  



输出结果:
[{"id":"10","name":"John","sex":"1","birthyear":"1979"},{"id":"11","name :"\u5f20\u4e09","sex":"1","birthyear":"1989"}]

为什么不是 张三





为什么我重装了wamp后, 又变成了 乱码, 反而倒退了? 请问上面的代码哪里有问题么?还是有哪个文件要配置?

在哪里看到有乱码?

在哪里看到有乱码?


莫名其妙的没有乱码了。。  现在是解码出问题了

解码出了什么问题?

解码出了什么问题?


谢谢版主,刚解决了解码的问题,为了使得PHP在浏览器输出时候,能显示中文,我在最前面加入了 echo "";  原来这句话也是被android 接收了。是不是通过Php打印出的东西都被发送给了android客户端?

是的,php 打印的任何内容都被发往客户端

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What is the difference between the unset() and unlink() functions ?What is the difference between the unset() and unlink() functions ?Apr 30, 2025 pm 03:33 PM

The article discusses the differences between unset() and unlink() functions in programming, focusing on their purposes and use cases. Unset() removes variables from memory, while unlink() deletes files from the filesystem. Both are crucial for effec

What are Traits in PHP ?What are Traits in PHP ?Apr 30, 2025 pm 03:31 PM

PHP traits enable code reuse in single inheritance contexts, offering benefits like reusability and simplified inheritance. They can be effectively combined with traditional inheritance to enhance class flexibility and modularity.

Is PHP supports multiple inheritance ?Is PHP supports multiple inheritance ?Apr 30, 2025 pm 03:30 PM

PHP does not support multiple inheritance but uses interfaces and traits as alternatives to achieve similar functionality, avoiding issues like the diamond problem.

What is inheritance in PHP ?What is inheritance in PHP ?Apr 30, 2025 pm 03:29 PM

Inheritance in PHP allows classes to inherit properties and methods, promoting code reuse and hierarchical organization. Key benefits include reusability, abstraction, and polymorphism. Common mistakes to avoid are overuse of inheritance and ignoring

What are the main error types, and how do they differ?What are the main error types, and how do they differ?Apr 30, 2025 pm 03:28 PM

The article discusses three main error types in programming: syntax, runtime, and logical errors. It explains their causes, prevention strategies, impacts on performance and user experience, and methods for diagnosis and resolution.

How can PHP and HTML interact?How can PHP and HTML interact?Apr 30, 2025 pm 03:27 PM

Article discusses PHP and HTML interaction, best practices for embedding PHP in HTML, dynamic HTML content generation, and recommended development tools.

What is the difference between for and foreach loop in PHP?What is the difference between for and foreach loop in PHP?Apr 30, 2025 pm 03:26 PM

The article discusses the differences between for and foreach loops in PHP, focusing on syntax, usage, control, and performance. Foreach is preferred for array iteration due to simplicity and efficiency, but for loops are better for index-based opera

Explain the importance of Parser in PHP.for eachExplain the importance of Parser in PHP.for eachApr 30, 2025 pm 03:25 PM

The article discusses the crucial role of the PHP parser in script execution, focusing on its tasks in syntax analysis, error handling, and code optimization, and how its efficiency impacts web application performance.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor