Encoding issues with MySQL 4.1_PHP tutorial

WBOY
Release: 2016-07-13 17:02:39
Original
795 people have browsed it

What I am going to write below is a very boring article, filled with a lot of various encodings, conversions, clients, servers, connections... Well, I don’t want to read it myself, but think about it and write It still makes some sense, for four reasons:


    MySQL 4.1 has made great changes in its multi-language support (which leads to problems);
    Although most places (including Personal use and hosting providers), MySQL 3 still dominates; but MySQL 4.1 is the officially recommended database by MySQL, and hosting providers have begun to provide it and more and more will be provided;
    Many PHP programs use MySQL as the default database management software, but they generally do not distinguish between MySQL 4.1 and versions below 4.1. Generally speaking, "MySQL 3.xx.xx or above" can meet the installation requirements;
    Because latin1 is in many places (more details below) Describe where it is) As the default character set, it has successfully deceived many developers and users of PHP programs, covering up problems that may occur in Chinese and other language environments;

Simply put , changes in MySQL itself and PHP programs using MySQL ignore this, leading to the emergence and complexity of problems. Since most users use English, this problem is not taken seriously. The PHP program mentioned here is mainly about WordPress.

The principle of character set support in MySQL 4.1


MySQL 4.1 The specification of the character set can be refined to MySQL installed on a machine, one of the databases, one of the tables, among which column, what character set should be used. However, traditional Web programs do not use such complex configurations when creating databases and data tables. They use default configurations. So, where does the default configuration come from?

    When compiling MySQL, a default character set is specified, which is latin1;
    When installing MySQL, you can specify a default character set in the configuration file (my.ini) Set, if not specified, this value is inherited from the one specified during compilation;
    When starting mysqld, you can specify a default character set in the command line parameters. If not specified, this value is inherited from the configuration file;
    At this time <br> <p align="left"></p> <div style="display:none;"> <span id="url" itemprop="url">http://www.bkjia.com/PHPjc/631020.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http: //www.bkjia.com/PHPjc/631020.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">The following is a very boring article, filled with a lot of various encodings, conversions, Client, server, connection Well, I don’t want to look at it myself, but think about it...</span> </div> <div class="art_confoot"></div>
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template