복붙노트

[SQL] 읽기 / MySQL의에서 쓰기 유니 코드 데이터를

SQL

읽기 / MySQL의에서 쓰기 유니 코드 데이터를

나는 MySQL의 DB를 사용하여 읽기 및 쓰기 유니 코드 데이터 값을 할 수 있도록하려는입니다. 예를 들어, 프랑스어 / 그리스어 / 히브리어 값.

내 클라이언트 프로그램은 C #을 (.NET 프레임 워크 3.5)입니다.

내가 어떻게 유니 코드를 허용하는 내 DB를 구성해야합니까? 어떻게 내가 MySQL의에서 유니 코드로 C #을 읽기 / 쓰기 값을 사용합니까?

OK, 내 스키마, 테이블 및 열이 'UTF-8'로 설정되도록 + 정렬 'utf8_general_ci'. 나는 '세트 이름을 utf8'연결이 열립니다 실행합니다. 지금까지 좋은, 그래서 ...하지만, 여전히 값이 '로 저장됩니다 ??????? '

어떤 아이디어?

좋아, 그럼 C #을 클라이언트에 대한 읽기 및 쓰기 유니 코드 값은 연결 문자열에 포함해야합니다 : 문자 집합 = UTF8을

예를 들어 : 서버 = my_sql_server; 사용자 ID = my_user; 암호 = my_password 관련, 데이터베이스 = some_db123; 문자셋 = UTF8;

물론 당신은 또한 UTF8의 + 데이터 정렬 utf8_bin과 관련 테이블을 정의해야합니다.

해결법

  1. ==============================

    1.해결책!

    해결책!

    좋아, 그럼 C #을 클라이언트에 대한 읽기 및 쓰기 유니 코드 값은 연결 문자열에 포함해야합니다 : 문자 집합 = UTF8을

    예를 들어 : 서버 = my_sql_server; 사용자 ID = my_user; 암호 = my_password 관련, 데이터베이스 = some_db123; 문자셋 = UTF8;

    물론 당신은 또한 UTF8의 + 데이터 정렬 utf8_bin과 관련 테이블을 정의해야합니다.

  2. ==============================

    2.당신은 당신의 MySQL의 스키마, 테이블 또는 열에 대한 정렬을 설정해야합니다.

    당신은 당신의 MySQL의 스키마, 테이블 또는 열에 대한 정렬을 설정해야합니다.

    이 경우를 구분 및 악센트를 구분 비교하기 때문에 대부분의 시간은 utf8_general_ci 데이터 정렬이 사용됩니다.

    반면에, utf8_unicode_ci는 (( 'SS') 근처의 'SS'를 eszet 정렬 등)의 경우 정렬 고급 민감하고 사용 공예입니다. 이 정렬이 다른 두보다 더 작은 조금 느립니다.

    마지막으로, utf8_bin는 이진 값을 사용하여 문자열을 비교합니다. 따라서, 민감한 경우이다.

    당신이 (내가 추천) MySQL의 커넥터 / NET을 사용하는 경우, 모든 것이 원활해야한다.

  3. ==============================

    3.가져 오거나 보내 다른 전에이 쿼리를 사용하려고 :

    가져 오거나 보내 다른 전에이 쿼리를 사용하려고 :

    SET NAMES UTF8
    
  4. ==============================

    4.관련 테이블 / UTF에 필드, 정렬 (당신이 UTF-8을 사용하는 경우) 당신은 당신이 설정 세트 이름 쿼리를 수행하기 전에 'UTF-8', 그리고 물론 확실하게 실행, UTF-8로 DB 캐릭터 세트를 설정해야 출력을 표시하는 HTML에 적절한 인코딩.

    관련 테이블 / UTF에 필드, 정렬 (당신이 UTF-8을 사용하는 경우) 당신은 당신이 설정 세트 이름 쿼리를 수행하기 전에 'UTF-8', 그리고 물론 확실하게 실행, UTF-8로 DB 캐릭터 세트를 설정해야 출력을 표시하는 HTML에 적절한 인코딩.

  5. from https://stackoverflow.com/questions/1385994/read-write-unicode-data-in-mysql by cc-by-sa and MIT license