MySQL은 Åäö를 AAO로 취급합니까?
이 두 개의 쿼리는 정확히 동일한 결과를 제공합니다.
select * from topics where name='Harligt';
select * from topics where name='Härligt';
이것이 어떻게 가능한 걸까요?검색할 때 mysql이 äö를 aao로 번역하는 것 같습니다.이걸 끌 방법이 없을까요?
저는 utf-8 인코딩을 어디서나 사용합니다.단말기와 php 모두 같은 문제가 발생합니다.
예, 언어별 유니코드 모음이 아닌 표준 동작입니다.
자세한 설명을 위해 utf8_general_ci 및 utf8_unicode_ci 모두에 다음과 같은 균등성이 적용됩니다(비교 시 또는 검색 시 이 효과에 대한 내용은 섹션 9.1.7.7, "보합 효과의 예" 참조).
= = A ö = Oü = U
참고 항목: 대조 효과 예제
둘 중에 하나라도
이 "특징"이 없는 모음을 사용합니다(namely하지만 다른 결과가 있음).
쿼리에만 다른 조합을 사용합니다.작동해야 합니다.
select * from topics where name='Harligt' COLLATE utf8_bin;
사건을 무감각하게 하려면 더 어려워집니다.LIKE하지만 가질 수 없습니다.Ä = A움라우트 변환대소문자를 구분하지 않고 이런 암묵적인 umlaut 변환을 하지 않는 mySQL 대조를 나는 모릅니다.아는 사람이 있다면 그 얘기를 듣고 싶습니다.
관련:
당신이 스웨덴에 있기 때문에 스웨덴 콜렉션을 사용하는 것을 추천합니다.그 차이를 보여주는 예는 다음과 같습니다.
CREATE TABLE topics (name varchar(100) not null) CHARACTER SET utf8;
INSERT topics (name) VALUES ('Härligt');
select * from topics where name='Harligt';
'Härligt'
select * from topics where name='Härligt';
'Härligt'
ALTER TABLE topics MODIFY name VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_swedish_ci;
select * from topics where name='Harligt';
<no results>
select * from topics where name='Härligt';
'Härligt'
이 예제에서는 하나의 열만 스웨덴식 collection으로 변경했지만 전체 데이터베이스, 모든 테이블, 모든 varchar 열에 대해 변경해야 합니다.
대조 작업이 이 문제를 해결하는 하나의 방법이지만, 제가 보기에 훨씬 더 간단한 방법은BINARY키워드:
SELECT 'a' = 'ä', BINARY 'a' = 'ä'
돌아올 것입니다1|0
사용자의 경우:
SELECT * FROM topics WHERE BINARY name='Härligt';
https://www.w3schools.com/sql/func_mysql_binary.asp 도 참조
대조 설정을 확인하려면 대조는 어떤 문자가 동일한지 설정하는 속성입니다.
이 두 페이지는 당신에게 도움이 될 것입니다.
http://dev.mysql.com/doc/refman/5.1/en/charset-general.html
http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html
여기에 몇 가지 대조표가 있습니다.http://collation-charts.org/mysql60/ .어떤 것이 utf8_general_ci인지 잘 모르겠습니다.
utf8_swedish_ci 차트입니다.어떤 문자를 동일하게 해석하는지 보여줍니다.http://collation-charts.org/mysql60/mysql604.utf8_swedish_ci.html
언급URL : https://stackoverflow.com/questions/2607130/mysql-treats-%c3%85%c3%84%c3%96-as-aao
'programing' 카테고리의 다른 글
| iOS 9의 스와이프 가능 테이블 뷰 셀 (0) | 2023.10.19 |
|---|---|
| javascript에서 배열에서 중복값을 계산하는 방법 (0) | 2023.10.19 |
| WooCommerce 사용자 역할 및 소규모 금액에 따른 배송 방법 (0) | 2023.10.19 |
| 동적 크기의 이미지가 있는 Mosaic (0) | 2023.10.19 |
| Node.js가 MySQL 8.0에 인증할 수 없습니다. (0) | 2023.10.19 |