2011-10-05 2 views
2

디자이너 용 데이터를 준비하려고합니다. Windows 컴퓨터에서 Python을 사용하여 SQL Server에서 데이터를 가져옵니다 (OS가 중요한지 확실하지 않음). 'Official Trademark ™'= 'Official Trademark'라는 문자열을 어떻게 만들 수 있습니까? 또한 유니 코드 또는 관련 주제에 대한 추가 정보/읽기는 내가 좀 더 독립적으로 도움이 될 것입니다. 어떤 도움을 주셔서 감사합니다!스트립 상표 문자열의 기호 파이썬

편집 됨 :

아마도 일부 코드를 포함해야합니다. 런타임에서이 오류가 발생했습니다 : 'UnicodeDecodeError :'ascii '코덱은 위치 2의 바이트 0x99를 디코딩 할 수 없습니다. 서수는 범위가 아닙니다 (128).'

row.note = 'TM™ Data\n' 
t = row.note 
t = t.rstrip(os.linesep).lstrip(os.linesep) 
t = t.replace(u"\u2122",'') 
+2

블렌더와 다른 답변을, 그래서 여기에 몇 가지 유니 코드를 파이썬으로 표현하는 방법에 대한 책을 읽은입니다 : http://docs.python.org/howto /unicode.html#the-unicode-type – birryree

+0

@birryree : 링크를 제공해 주셔서 감사합니다. – Blender

답변

8

상표 기호는 유니 코드 문자 U+2122, 또는 파이썬 표기법 u"\u2122"에 : 여기 내 코드입니다.

은 그냥 검색을 수행하고 교체 :

'string'.replace(u"\u2122", '') 
+0

"(인쇄시에 .decode()해야하므로 유니 코드를주의해야합니다.") 부분은 오해의 소지가 있습니다. 파이썬이 터미널이 ascii 만 지원한다고 생각하면 * 사용자 인코딩 만하면됩니다. 나는 Windows에서 어떤 이유로 그것이 있다고 생각합니다. –

+0

유니 코드를 인쇄하면 파이썬은'sys.stdout.encoding'에 의해 주어진 인코딩으로 자동으로 인코딩합니다. 터미널이 제대로 설정 되었다면 UTF-8 또는 사용자의 언어에 맞는 인코딩이되어야합니다. 그렇지 않으면 인코딩의 기본값은 ascii이고 ASCII가 아닌 문자는 인쇄되지 않습니다. –

2
>>> 'Official Trademark™'.strip('™') 
'Official Trademark' 
>>> 
+0

파이썬 소스 코드에서 비 ASCII 문자를 사용할 수 없습니다 : http://codepad.org/ymgtruH9 – Blender

+2

'# - * - coding : utf-8 - * -'을 첫 번째 라인으로 만들면됩니다 소스 파일에서 : http://codepad.org/BYIPuDox – infrared

+1

파이썬 3에서는 선언이 더 이상 필요하지 않습니다. 파이썬 2에서는 유니 코드 문자열 인'u '™'를 사용해야합니다. –

관련 문제