2010-08-16 5 views
2

특수 문자가 삽입되어 제대로 표시되는 데 문제가 있습니다. 그것은 ASP.NET 3.5 응용 프로그램 (C#)이고 데이터베이스는 MySql입니다.특수 문자 MySql 표시/삽입 문제 ASP.NET

콘솔 응용 프로그램을 사용하여 데이터베이스에 특수 문자를 삽입하려고하면 '잘못된 문자열 값 :'\ x81 etc '이라는 오류가 발생합니다. 표시하려고하면 ü 대신에 ü가 표시됩니다.

내 로컬 컴퓨터에서 작동하며 유일한 차이점은 collation_server가 내 컴퓨터의 latin1_swedish_ci, dev 서버의 utf8_general_ci, character_set_server가 latin1 인 것입니다. 내 컴퓨터, dev에 서버에 utf8. (다른 모든 것들은 두 머신에서 모두 utf8로 설정됩니다.)

utf8을 사용하는 것이 가장 좋았던 것 같습니다. 그래서 dev 서버를 내 로컬 컴퓨터와 동일하게 변경해야하는지 잘 모르겠습니다. 즉 latin을 사용하거나 내 로컬 컴퓨터를 dev 서버와 동일하게 변경하고 문제에 대한 다른 해결책을 찾으십니까? 이견있는 사람?

감사합니다,

Annelie

+0

할 수 있습니다 홍보 해당 행의 16 진 덤프 ('SELECT HEX (column) FROM table')를 ovide 하시겠습니까? – NullUserException

+0

@NullUserException - 426164656E2D57C3BC727474656D62657267은 바덴 - 뷔 르템 베르크의 헥스입니다. – annelie

+0

좋은 소식은 데이터베이스에 UTF-8로 올바르게 저장되고 있다는 것입니다. – NullUserException

답변

3

다음과 같이 연결 문자열을 설정합니다

"server=<server>;port=<port>;database=<db>;uid=<uid>;pwd=<password>;charset=utf8;" 

예 :

"server=localhost;port=3306;database=mydb;uid=root;pwd=root;charset=utf8;" 

(그것에 charset=utf8 추가)

+0

Yessssss! 그건 트릭을 했어, 정말 고마워! – annelie