>  Q&A  >  본문

mysqli set_charset()의 올바른 사용

올바른 사용법에 대해 궁금한 점이 있습니다 $mysqli->set_charset()。我已经很多年没有在我的网站上使用此功能了。现在我正在重写我的连接脚本,并希望正确应用 $mysqli->set_charset() . 현재 사이트는 여전히 "latin1"을 기반으로 합니다. (하지만 곧 UTF-8(utf8mb4)로 전환할 예정입니다.)

내 서버(내가 직접 관리함)의 MySQLi는 수년 동안 latin1 구성을 사용해 왔습니다. 지금 추가해도 나쁠 것 없다고 생각했어요 $mysqli->set_charset("latin1")?

MySQLi가 기본적으로 utf8mb4로 구성되면 $mysqli->set_charset() 기능 없이 웹사이트에 이상한 인코딩 문자가 표시되나요?

내 가설을 확인하고 싶습니다.

P粉908643611P粉908643611257일 전285

모든 응답(1)나는 대답할 것이다

  • P粉674999420

    P粉6749994202024-01-11 15:16:05

    mysqli::set_charset() 연결의 문자 집합을 설정합니다. 즉, "이 연결을 통해 보내는 모든 문자열은 this >을 사용하여 인코딩되며 인코딩을 다시 원합니다."입니다. 이를 PHP 측에서 사용하는 인코딩과 일치시켜야 합니다.

    즉, 현재 설정이 잘못된 경우에도 현재 값을 변경하면 데이터가 손상될 수 있습니다. 이는 데이터베이스에서 데이터베이스로 전송하는 동안 손상된 데이터가 설정이 일관적이라면 동일한 방식으로 손상되는 경우도 있기 때문입니다.

    변경하기 전에 현재 사용되는 인코딩과 데이터베이스의 데이터가 손상되었는지 여부를 확인해야 합니다. 여기에서 모든 인코딩이 일치하는지, 데이터가 모든 단계에서 올바르게 인코딩 및 처리되는지, 기존 데이터가 복구되는지 확인하는 경로를 차트로 작성할 수 있습니다.

    언제나 그렇듯, 메인 포스트를 확인해주세요: UTF-8 전체

    추가 생각:

  • 취소회신하다