mysql에서 잘못된 문자에 대한 해결 방법: 먼저 serverMySQL 폴더를 연 다음 my.ini 파일을 열고 마지막으로 "character_set_server=gbk" 코드를 추가합니다.
권장: "mysql 비디오 튜토리얼"
java 웹사이트 MySQL 데이터베이스 개별 텍스트 깨짐 문제
깨짐 문제는 매우 골치 아픈 문제이며, 특히 아주 적은 양의 깨진 문자의 경우 더욱 그렇습니다. 여기에서는 개인 개발 중에 발생한 잘못된 코드 문제를 공유하고 싶습니다. 이것이 모든 사람에게 도움이 되기를 바랍니다.
방법/단계
깨진 문자가 나타나는 위치인 프론트 데스크를 확인하세요.
여기서 편집자는 Firefox 브라우저의 Firebug 도구를 통해 프런트엔드 JSP 페이지를 확인한 결과 게시된 데이터가 실제로 utf8 데이터라는 것을 발견했습니다. 따라서 전경에서 데이터를 전송할 때 왜곡된 문자가 생성되는 것은 제외됩니다.
깨진 문자가 나타나는 위치, 즉 배경을 확인하세요.
제 동료들이 프론트엔드 데이터를 받기 위해 struts formbean을 사용하기 때문에 저는 그것에 대해 잘 몰라서 멍청한 방법을 사용했습니다: 왜곡된 코드를 생성하는 데이터 전송 프로세스를 찾고, 전달된 각 메서드에 출력을 추가합니다. 프로세스에서 백그라운드에서 출력 데이터를 봅니다.
결과적으로 이 데이터도 정상입니다.
깨진 문자가 나타나는 위치를 확인하세요 - MySQL 데이터베이스.
프런트엔드와 백엔드를 제외하면 데이터베이스만 남습니다. 그러면 문제는 데이터베이스에 있습니다.
편집자는 먼저 왜곡된 한자를 데이터베이스에 직접 기록하여 저장할 수 있음을 발견했습니다. 데이터베이스 테이블의 텍스트 인코딩 문제를 해결합니다.
이후 편집자가 도구 소프트웨어에 쿼리(문: '%char%'와 같은 변수 표시;)를 했고 결과는 아래와 같습니다. 문제는 바로 발견되었는데, gb2312의 한자가 완전하지 않아 일부 한자가 인코딩되지 않았는데, 이때 이 한자는 강제로 "?"로 변환된다. 분실되어 복구가 불가능합니다.
이유에 대한 자세한 설명:
MySQL 데이터베이스에 데이터를 입력하고 내보내는 데 실제로 여러 가지 변환 절차가 있습니다.
입력 시: Character_set_client에서 Character_set_connect로, Character_set_server에서 데이터베이스에 저장됩니다.
꺼내는 경우: 데이터베이스를 꺼내서 Character_set_server에서 Character_set_result로 변환합니다.
이제 다들 아시겠지만 데이터베이스에 들어오고 나가는 데이터는 Character_set_server로 변환해야 하므로 프론트에 있는 한자가 맞는지, 데이터베이스에 있는 한자가 맞는지, gb2312에 있지 않은 한, 물음표로 변환됩니다.
해결책:
A 단번에 모든 해결 방법은 편집자가 serverMySQL 폴더에서 my.ini 파일을 직접 수정했습니다.
수정 프로세스는 다음과 같습니다. [mysqld]를 찾은 다음 몇 줄을 검색하여 "default_character_set=utf8"을 찾고 이 줄 아래에 "character_set_server=gbk" 줄을 추가합니다.
물론 gbk를 사용할 필요는 없습니다. 편집자는 주의하기 위해 국가 표준 확장자, 즉 gb2312의 확장자 gbk를 사용했습니다.
위 내용은 mysql 문자 깨짐 문제 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!