<p>Strange question, but: Sharepoint 2007 greets you with the Administrator Tasks on the Central Administration after installation.</p>

<p>I just wonder if this list is "safe" to be used for my own Administration Tasks? The reason why i'm asking is because I found that Sharepoint uses a lot of "black magic" and unlogical behaviour and breaks rather easily, so I do not want risk breaking anything if i'm entering my own tasks into the task list.</p>

```
unicode
```
does not guess the encoding of your text. If your object can print itself as
```
unicode
```
, define the
```
__unicode__()
```
method that returns a Unicode string.
The secret is that
```
unicode(r)
```
is not actually calling
```
__str__()
```
itself. Instead, it's looking for a
```
__unicode__()
```
method. The default implementation of
```
__unicode__()
```
will call
```
__str__()
```
and then attempt to decode it using the
```
ascii
```
charset. When you pass the encoding,
```
unicode()
```
expects the first object to be something that can be decoded -- that is, an instance of
```
basestring
```
.
Behavior is weird because it tries to decode as ascii if I don't pass 'utf-8'. But if I pass 'utf-8' it gives a different error...
That's because when you specify "utf-8", it treats the first parameter as a string-like object to be decoded. Without it, it treats the parameter as an object to be coerced to unicode.
I do not understand the confusion. If you know that the object's
```
text
```
attribute will always be UTF-8 encoded, just define
```
__unicode__()
```
and then everything will work fine.