Why does my Mysql not support Chinese query_PHP tutorial
Q:
My problem when writing a query condition is as follows:
For example, I want to write all the records containing the word "李" in a field
$str="李";
select * from table where field like '%$str%' ;
In addition to records containing the word "李", there are also records that do not contain the word "李". Why?
A:
In MySQL, when sorting and searching Chinese characters, the sorting and search results for Chinese characters are wrong. This situation exists in many versions of MySQL. If this problem is not solved, then MySQL will not be able to actually handle Chinese.
The reason for this problem is: MySQL is case-insensitive when querying strings. When compiling MySQL, the ISO-8859 character set is generally used as the default character set. Therefore, during the comparison process, the Chinese coded character size Write conversion causes this behavior.
Method 1:
The solution is to add the "binary" attribute to the field containing Chinese to make it a binary comparison, for example, change "name char(10)" to "name char(10)binary".
Method 2:
If you use source code to compile MySQL, you can use the --with--charset=gbk parameter when compiling MySQL, so that MySQL will directly support Chinese search and sorting.
Method 3:
You can use Mysql’s locate function to determine. Taking the above problem as an example, the usage method is:
SELECT * FROM table WHERE locate(field,'李') > 0;
This site uses this method, and it feels pretty good. :P
Method 4:
Change your Select statement to this, SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

Docker LNMP container call steps: Run the container: docker run -d --name lnmp-container -p 80:80 -p 443:443 lnmp-stack to get the container IP: docker inspect lnmp-container | grep IPAddress access website: http://<Container IP>/index.phpSSH access: docker exec -it lnmp-container bash access MySQL: mysql -u roo

The relationship between SQL and MySQL is the relationship between standard languages and specific implementations. 1.SQL is a standard language used to manage and operate relational databases, allowing data addition, deletion, modification and query. 2.MySQL is a specific database management system that uses SQL as its operating language and provides efficient data storage and management.

MySQL is suitable for beginners because it is easy to use and powerful. 1.MySQL is a relational database, and uses SQL for CRUD operations. 2. It is simple to install and requires the root user password to be configured. 3. Use INSERT, UPDATE, DELETE, and SELECT to perform data operations. 4. ORDERBY, WHERE and JOIN can be used for complex queries. 5. Debugging requires checking the syntax and use EXPLAIN to analyze the query. 6. Optimization suggestions include using indexes, choosing the right data type and good programming habits.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

MySQL is not only a database management system (DBMS) but also closely related to programming languages. 1) As a DBMS, MySQL is used to store, organize and retrieve data, and optimizing indexes can improve query performance. 2) Combining SQL with programming languages, embedded in Python, using ORM tools such as SQLAlchemy can simplify operations. 3) Performance optimization includes indexing, querying, caching, library and table division and transaction management.

You can determine your VS Code version number in the following ways: "About" menu: In the menu bar, select "Help" > "About", and the version number will be displayed in the pop-up window. Command panel: Press Ctrl Shift P (Windows/Linux) or Cmd Shift P (macOS), enter "about" or "version" to select the option to display version information. package.json file: Locate the package.json file in the installation directory of VS Code, which contains version information.
