0

우리는 한자 처리하고 AWS에 호스팅 된 웹 사이트가 구글하는 오류를 인코딩합니다. 한자는 AWS에서 이동 데이터베이스 클라우드 SQL

는 여기에 아무 문제없이 한자 데이터베이스에을 절약 할 수 있습니다.

이제 Google Cloud으로 이동하고 데이터베이스에 중국어 문자 저장 문제가 있습니다.

그들은 ¢

내가 좋아하는 모든 규칙을 다음입니다 æª ä¸ € AOE ° å ... ©로 표시 "열이 있어야합니다 UTF8 유니 코드-CI"와 "UTF8로 데이터베이스 연결" .

로컬 호스트에서 올바르게 작동합니다.

어떤 문제가 될 수 있습니까?

감사합니다.

답변

2

두 경우 모두 데이터베이스의 데이터 (열)가 UTF8로 인코딩 된 데이터이고 웹 페이지의 데이터를 처리하는 코드/플랫폼이 동일하면 (Python 2와 Python 3가 아닌 것을 의미) 예를 들어, 차이점은 현재 로컬 설정, Google 서버 (환경 변수), SQL 클라이언트 (UTF8 설정) 또는 PHP 설정 중 하나 일 수 있습니다. - 기능을

mysqli_character_set_name() 

을 인코딩을 얻을 수 는 PHP를 실행 해보십시오 : 는 SQL 클라이언트로 시작 할 수 있습니다. 그 다음 UTF-8이 아닌 경우이 UTF-8

charset=utf-8 

에 META HTML 태그의 캐릭터 세트를 설정하여 PHP는 HTML이 물건을 확인 작동하지 않는 경우

mysqli_set_charset('utf8') 

로 설정 그것을 시행하십시오

declare(encoding='utf8') 
+0

PHP와 데이터베이스 버전을 사용하고 있습니다. 5.6 – Rich5757

+0

Ok,이 환경은 여기 [link] (https://cloud.google.com/php/getting-started/using-cloud-sql-with-mysql)라고 가정합니다. 지원되는 데이터베이스 지역 비교 [link] (https://dev.mysql.com/doc/refman/5.5/en/charset-unicode.html)부터 시작하십시오. 이 경우 클라이언트에 문제가있을 수 있지만 Linux (Google) 플랫폼의 로컬 설정을 이전 플랫폼 [link] (https : //www.cyberciti.참고 : MySQL 데이터베이스 버전 5.x를 사용하고 있다면 (ODBC?) 클라이언트가 5.x인지 확인하십시오. (예 : biz/faq/how-to-set-locales-i18n-on-a-linux-unix/또는 지원) –

+0

위의 링크를 시도했지만 도움이되지 않습니다. 모든 것 utf8 – Rich5757

1

당신은 어딘가에 가공에서 latin1를 가지고있는 것처럼 보입니다.

一地兩檢 일부 한자는 4 바이트 아닌 3 바이트을 Trouble with UTF-8 characters; what I see is not what I stored

에서 一地兩檢

페이지의 글자 깨짐에 대한 "글자 깨짐"입니다. 따라서 간단히 utf8이 아닌 utf8mb4을 사용하는 것이 좋습니다.

+0

감사합니다. 링크 된 답변은 사물을 이해하는 데 정말로 도움이됩니다. – Rich5757