백엔드 개발 PHP 튜토리얼 为什么我的 Mysql 不支持中文查询_PHP

为什么我的 Mysql 不支持中文查询_PHP

Jun 01, 2016 pm 12:34 PM
mysql 중국인 포함하다 지원하다 방법 질문 기록

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%'即可!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C 언어의 우선 순위는 무엇입니까! x? C 언어의 우선 순위는 무엇입니까! x? Apr 03, 2025 pm 02:06 PM

논리적 비수기 (!)는 괄호 옆에 우선 순위를 갖습니다. 즉, 표현식에서는 대부분의 다른 연산자보다 우선합니다. 우선 순위를 이해하려면 끔찍한 암기가 필요할뿐만 아니라 더 중요한 것은 복잡한 표현에서 감지 할 수없는 오류를 피하기 위해 논리와 잠재적 인 함정을 이해하는 것입니다. 괄호를 추가하면 표현 의도를 명확하게하고 코드 선명도와 유지 관리를 개선하며 예상치 못한 동작을 방지 할 수 있습니다.

C 언어 기본값에 대한 모범 사례 C 언어 기본값에 대한 모범 사례 Apr 03, 2025 pm 03:48 PM

C 언어의 기본값 모범 사례 : 스위치 문의 끝에서 비교할 수없는 값에 대한 기본 처리로 배치하십시오. 프로그램 견고성을 향상시키기 위해 알려지지 않았거나 유효하지 않은 값을 처리하는 데 사용됩니다. 간결함을 유지하기 위해 케이스 브랜치와의 복제를 피하십시오. 가독성을 향상시키기 위해 기본 지점의 목적에 대해 명확하게 의견을 제시하십시오. 명확성을 유지하기 위해 한 경우에 여러 번의 기본값을 사용하지 마십시오. 기본 분기를 간결하게 유지하고 복잡한 작업을 피하십시오. 유지 유지 가능성을 향상시키기 위해 열거 값을 사례 조건으로 사용하는 것을 고려하십시오. 대형 스위치 명령문에서 여러 기본 분기를 사용하여 다른 상황을 처리하십시오.

C 언어 함수에서 가장 큰 공통 제수를 나타내는 방법에 대한 튜토리얼 C 언어 함수에서 가장 큰 공통 제수를 나타내는 방법에 대한 튜토리얼 Apr 03, 2025 pm 11:21 PM

C 언어에서 가장 큰 일반적인 제수를 효율적이고 우아하게 찾는 방법 : 나머지가 0이 될 때까지 나머지를 지속적으로 나누어서 위상 분할을 사용하여 두 가지 구현 방법이 제공됩니다. 재귀와 반복은 간결하고 명확하며 반복 구현이 더 높고 안정됩니다. 음수와 0을 처리하는 데주의를 기울이고 성능 최적화를 고려하지만 위상 부서 자체는 효율적입니다.

프론트 엔드 파일러 파일 읽기 : 먼저 인스턴스화 한 다음 읽어야하는 이유는 무엇입니까? 프론트 엔드 파일러 파일 읽기 : 먼저 인스턴스화 한 다음 읽어야하는 이유는 무엇입니까? Apr 04, 2025 pm 01:48 PM

프론트 엔드 개발에서 FilereAder 인스턴스화 및 파일 읽기와 관련하여 종종 사용자가 업로드 한 파일을 처리해야합니다. 사용

파일 분할 및 병합 탐색 : 큰 파일 관리를위한 혁신적인 도구 파일 분할 및 병합 탐색 : 큰 파일 관리를위한 혁신적인 도구 Apr 04, 2025 am 07:15 AM

많은 양의 파일을 전송하거나 저장하는 데 어려움이 있습니까? 우아하고 효율적인 방식 으로이 도전을 단순화하도록 설계된 오픈 소스 프로젝트 인 Filesplitter & Merger에 대해 알아보십시오. 이 프로젝트는 무엇을하고 있습니까? 파일 세분화 및 병합은 파일 스플리터 - 큰 파일을 작은 청크로 분류하는 두 가지 도구로 구성됩니다. 파일 병합 -이 블록을 원본 파일로 재결합하는 것이 유용한 이유는 무엇입니까? 매우 큰 파일로 작업하는 것은 특히 전송하거나 저장할 때 파일이 어려울 수 있습니다. 이 도구를 사용하면 파일을 관리 가능한 조각으로 분할 한 다음 해당 조각에서 원본 파일을 재 구축 할 수 있습니다. 파일 스플리터이 프로그램은 입력 파일을 지정된 크기의 작은 부분으로 나눕니다. 각 블록은 별도의 파일로 저장됩니다. 사용법 : 분할 할 텍스트를 복사하십시오

스트림에서 작동 할 때 RXJ 코드가 ​​적용되지 않는 이유는 무엇입니까? 스트림에서 작동 할 때 RXJ 코드가 ​​적용되지 않는 이유는 무엇입니까? Apr 04, 2025 pm 06:27 PM

RXJ를 사용하여 스트림에서 작동 할 때 코드가 적용되지 않는 이유는 무엇입니까? 학습 RXJS ...

Vue-Router 점프 후 콘솔 네트워크에 페이지 요청 정보가없는 이유는 무엇입니까? Vue-Router 점프 후 콘솔 네트워크에 페이지 요청 정보가없는 이유는 무엇입니까? Apr 04, 2025 pm 05:27 PM

Vue-Router 점프 후 콘솔 네트워크에 페이지 요청 정보가없는 이유는 무엇입니까? 페이지 리디렉션에 Vue-Router를 사용하는 경우

RXJ를 사용하여 스트림 요소를 처리 할 때 출력이없는 이유는 무엇입니까? 운영자를 올바르게 사용하는 방법? RXJ를 사용하여 스트림 요소를 처리 할 때 출력이없는 이유는 무엇입니까? 운영자를 올바르게 사용하는 방법? Apr 04, 2025 pm 06:36 PM

RXJ를 사용하여 RXJ를 사용하여 스트림의 요소에서 작동 할 때의 문제에 대한 토론 ...

See all articles