为什么我的 Mysql 不支持中文查询_PHP
MySQL查询
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
$str="李";
select * from table where field like '%$str%' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
方法一:
解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
SELECT * FROM table WHERE locate(field,'李') > 0;
本站使用的就是这种方法,感觉还不错。:P
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Der logische Nichtoperator (!) Hat die Priorität neben Klammern, was bedeutet, dass er den meisten anderen Betreibern in Ausdrücken vorausgeht. Das Verständnis der Priorität erfordert nicht nur ein Auswendiglernen, sondern auch das Verständnis der Logik und der potenziellen Fallstricke, um nicht nachweisbare Fehler in komplexen Ausdrücken zu vermeiden. Das Hinzufügen von Klammern kann die Ausdrucksabsicht klären, die Klarheit und Wartbarkeit der Code verbessern und unerwartetes Verhalten verhindern.

Die Best Practices von Standard in der C -Sprache: Platzieren Sie sie am Ende der Switch -Anweisung als Standardverarbeitung für unerreichte Werte; Es wird verwendet, um unbekannte oder ungültige Werte zu verarbeiten, um die Programm Robustheit zu verbessern. Vermeiden Sie die Duplikation mit Fallzweigen, um die zuversichtliche Aufrechterhaltung zu erhalten. Kommentieren Sie deutlich zum Zweck der Standardzweig, um die Lesbarkeit zu verbessern. Vermeiden Sie es, mehrere Standardeinstellungen in einem Fall zu verwenden, um Klarheit aufrechtzuerhalten. Halten Sie den Standardzweig präzise und vermeiden Sie komplexe Operationen. Erwägen Sie, Aufzählungswerte als Fallbedingungen zu verwenden, um die Wartbarkeit zu verbessern. Verwenden Sie in großen Switch -Anweisungen mehrere Standardzweige, um unterschiedliche Situationen zu verarbeiten.

Methoden zur effizienten und eleganten Methode finden den größten gemeinsamen Divisor in der C -Sprache: Verwenden Sie die Phasenaufteilung, um den Rest ständig zu teilen, bis der Rest 0 ist. Zwei Implementierungsmethoden werden bereitgestellt: Rekursion und Iteration sind prägnant und klar, und die iterative Implementierung ist höher und stabiler. Achten Sie auf die Behandlung negativer Zahlen und 0S und berücksichtigen Sie die Leistungsoptimierung, aber die Phasenabteilung selbst ist effizient genug.

In Bezug auf FileReader-Instanziierung und Dateilesen in der Front-End-Entwicklung müssen wir häufig von Benutzern hochgeladene Dateien verarbeiten. verwenden

Haben Sie jemals Schwierigkeiten gehabt, große Mengen an Dateien zu übertragen oder zu speichern? Erfahren Sie mehr über FileSplitter & Merger, ein Open -Source -Projekt, das diese Herausforderung auf elegante und effiziente Weise vereinfachen soll. Was macht dieses Projekt? Die Dateisegmentierung und der Zusammenführen bestehen aus zwei Tools: Dateisplitter - Dividieren großer Dateien in kleinere Stücke. Dateiverführung - Warum ist es nützlich, diese Blöcke in die Originaldatei zu rekombinieren? Die Arbeit mit sehr großen Dateien kann entmutigend sein, insbesondere beim Übertragen oder Speichern. Mit diesen Tools können Sie Dateien in überschaubare Fragmente aufteilen und dann die Originaldateien aus diesen Fragmenten neu aufbauen. Dateisplitter Dieses Programm spaltet die Eingabedatei in kleinere Teile einer bestimmten Größe auf. Jeder Block wird als separate Datei gespeichert. Nutzung: Kopieren Sie den zu spaltenden Text

Warum wird mein Code nicht wirksam, wenn sie RXJS zum Betrieb in Streams verwenden? Rxjs lernen ...

Warum gibt es nach dem Sprung des Vue-Router-Sprungs keine Seitenanfrageninformationen im Konsolenetzwerk? Wenn Sie Vue-Router für die Umleitung von Seiten verwenden, können Sie eine ...

Diskussion über Probleme bei der Verwendung von RXJs zum Betrieb von Elementen in Streams im Lernen und Verwendung von RXJs ...
